首页 > 解决方案 > 如何实现 id 的递增连接值

问题描述

在我的 Laravel 应用程序中,当用户提交新订单时,我已将表中的 order-id 列设置为日期、经过身份验证的用户的用户 ID 和从控制器中从 1 开始的计数器的串联,如下所示;

$date = date ('ymd');
$user = Auth::id ();
$count = 1;

$order = new Order;
$order->order-id = $date. $user. $count;
$order->save ();
$count++;

现在我想要实现的是,用户 ID 为 90 的用户第一次下订单时(例如 7 月 1 日),订单 ID 是180701090001(180701 作为日期,090 作为用户 ID,001 作为计数器)&当他下一个订单说是 7 月 3 日,我应该得到一个180703090002. 但是,我目前得到的是180701090001. 请问我怎样才能做到这一点?

标签: phplaravel

解决方案


为什么不尝试获取最新保存的订单,然后在该订单 ID 上加一

$order = DB::table('orders')->order_by('id', 'desc')->first();
$order_id = $order->order_id + 1;

推荐阅读