我现在正在尝试在用户到达创建方法时生成唯一的订单号。订单号是在种子中生成的,需要像这样看起来:
种子
foreach(range(1,25) as $index)
{
DB::table('orders')->insert([
'user_id' => rand(1,25),
'order_nr' => '#' . sprintf("%08d", $index),
'price_sum' => $faker->randomNumber($nbDigits = 4, $strict = false) . '.' . $faker->randomNumber($nbDigits = 2, $strict = false),
'status' => $faker->randomElement(['paid', 'pending', 'failed']),
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
]);
}
订单号看起来像这样
#00000001
或#00000002
。当用户到达控制器中的创建方法时,需要创建一个新的唯一订单号。如何实现?控制器当前如下所示: public function create()
{
$order = new Order;
$order->user_id = Auth()->id();
$order->order_nr =
dd($order);
return view('steps.order');
}
需要检查最新的订单号并在该订单号上+1创建一个新的。例如,有25个订单,最后一个是#00000025,下一个需要创建的订单应该是#00000026。我该如何实现这一点?
[1 => order1, 2 => order2, 3 => order3, ]
;您的订单将作为电子邮件发送给下单的客户或其他人。订单链接将是www.blah/order3。但是,如果我删除了第三个订单,并且它在客户的邮箱中,然后我创建一个新订单并使用相同的名称,则新订单也将具有相同的链接。这样链接就会变得不正确。我不知道这是否符合您的用例,但最好记住这一点。@RainierLaan - Epsilon47INT(8)ZEROFILL
来实现自动增量或外键引用? - HelloSpeakmanis_active
,它将是布尔类型,默认为真。如果有人删除了他们的帐户,你可以将其设为假。只是一个想法。 - KalyanLahkar