【发布时间】:2018-09-01 22:24:46
【问题描述】:
我目前正在尝试在用户到达 create 方法时生成一个唯一的订单号。订单号在种子中是这样生成的,也需要看起来像这样
种子
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。现在,当用户到达我的控制器中的 create 方法时,需要在此序列中创建一个新的唯一订单号。我怎样才能做到这一点?控制器当前如下所示:
public function create()
{
$order = new Order;
$order->user_id = Auth()->id();
$order->order_nr =
dd($order);
return view('steps.order');
}
它需要检查最新的订单号并在该订单号上创建一个+1。例如,有 25 个订单,最后一个订单是 #00000025,接下来需要创建的订单是 #00000026。我怎样才能做到这一点?
【问题讨论】:
标签: php laravel laravel-5 laravel-4