php - 如何实现 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
. 请问我怎样才能做到这一点?
解决方案
为什么不尝试获取最新保存的订单,然后在该订单 ID 上加一
$order = DB::table('orders')->order_by('id', 'desc')->first();
$order_id = $order->order_id + 1;
推荐阅读
- sql-server - sql语句末尾的“a”做什么?
- javascript - clipboardjs 将 div 的 html 内容复制到剪贴板
- android - Cordova 自适应图标导致构建失败:“路径”参数必须是字符串类型
- wordpress - 从第 2 页开始的 WP 自定义帖子类型分类错误
- excel - 如果值与数组中的值匹配,则删除列中的单元格
- sql - SQL Server 为每个日期最高的学生获取一行
- wordpress - 我是否错误地生成了 OAuth 签名,或者此 Perl / OAuth 客户端代码是否存在其他问题?
- android - 布局膨胀但不可见
- c++ - DirectX 11 渲染到特定区域
- multithreading - 为什么 xsub 中的静态变量不是线程安全的?