将控制器中的ID增加到数据库

时间:2017-11-20 07:04:08

标签: php laravel

我的ID在每天的第一天看起来像1-66-0001。现在,我想知道如何将最后4位增加1.下一个id应为1-66-00021-66-0003并显示我html表中的最后4位数字(尽管整个id ``1-66-0001`进入数据库)但是我的代码,我没有得到它。

控制器

if (!empty($invoice) && $invoice->created_at->toDateString() == $today->toDateString())
{
    $today_invoice = $invoice + 1;
} else {
    $today_invoice = $id . '-' . $date . '-0001';
}

1 个答案:

答案 0 :(得分:3)

我认为最好使用两个" ID"字段:数据库的真实ID和ID,因为我不认为使用id作为具有这种长度和格式的主键的良好数据库设计。 所以:Id(PK):int(11)     RealId(非聚集索引):varchar(10)

作为它的字符串,使用字符串格式化功能,您可以测量最后的ID号并将其输入数据库。

此外,如果" 0001"来自真实身份和" 1"从主键是相等的并且将始终相等,我的意思是只有一个记录具有0001,即使不使用字符串格式化功能,您可以获取主键值并在realId中使用它

如果是20 - >你会知道最后4位数应该是0020,依此类推。