我试图生成格式为“ 2000-yymmm-0000”的随机transaction_id
。
我已经知道如何设置transaction_id
,但是我对将“ 2000-yymm-0000”的自动增量设置为“ 2000-yymm-0001”并自动重置为“ 2000- yymm-0000”。每个新月。
我将此逻辑放在控制器的不同路径上。
PS:我将Lumen 6.0和Laravel 6.0一起使用。
我正在尝试使用以下方法创建增量:
$number = sprintf('%04d', 0000);
$number++;
但是没有用。
$year = 2000;
$time = date('ym');
$number = sprintf('%04d', 0000);
$transaction_id = $year . '-' . $time . '-' . $number;
$transaction_data = explode('-', $transaction_id);
$month = date("m", strtotime($transaction_data[0]));
我希望每次将新数据存储到数据库时结果都会自动增加。但是实际结果是transaction_id
始终具有相同的值2000-yymm-0000
。
我在做什么错了?
答案 0 :(得分:0)
我知道回答自己的问题很奇怪,但是我已经找到了解决方法。
在Models/Order.php
中
我创建了这样的函数。
public function count()
{
$this->where(transaction_id)->count();
}
之后,我从Model/Order.php
到OrdersController.php
调用函数
public function create(Request $request)
{
$year = 2000;
$date = date('ym');
$total_data = $this->table->count();
$number = str_pad($total_data + 1, 4, 0, STR_PAD_LEFT);
$transaction_id = $year . '-' . $date . '-' . $number;
return $this->success('count all transaction id', $t_id);
}