Laravel:检查记录ID是不是存在
Posted
技术标签:
【中文标题】Laravel:检查记录ID是不是存在【英文标题】:Laravel : checking if a record ID is ExistsLaravel:检查记录ID是否存在 【发布时间】:2021-08-08 06:18:13 【问题描述】:抱歉,我是 Laravel 的新手,我现在有一个项目正在工作。我想检查我的数据库中是否存在数据 ID
所以我的问题: 如果数据 ID 是新的,我想为数据创建新的 ID 号,那么如果有多个数据 ID,我想在之前自动增加数据的 ID 号。最近我在商店控制器中使用了这段代码:
$data = FUP::where('id')->first();
$data = FUP::where('id')->first();
$bln = date('M');
$thn = date('Y');
if($data === NULL)
$no_usulan = '1'.'/UP/'.$bln.'/'.$thn;
else
$id = FUP::getId();
foreach ($id as $value)
$idlama = $value->id;
$idbaru = $idlama + 1;
$no_usulan = $idbaru.'/UP/'.$bln.'/'.$thn;
对于第一条记录,数据进入 if($data === NULL),但第二条记录进入 if($data === NULL),也不要进入 else 代码。
对不起,如果我的解释对你们不好理解。
【问题讨论】:
您永远不应该手动修改id
列。只需将其保持为自动增量并为您的业务逻辑创建另一列。
【参考方案1】:
首先,不要手动插入 id,将其留给数据库自动递增。其次,在您的查询中
$data = FUP::where('id')->first();
您忘记将 $id 参数传递给 where 查询,如下所示:
$data = FUP::where('id', $id)->first();
【讨论】:
【参考方案2】:下面的工作
$data = FUP::find($id);
比它短
$data = FUP::where('id', $id)->first();
并且做同样的事情。如果您想自动返回 404,您甚至可以执行以下操作,以防找不到与给定 id 匹配的任何记录
$data = FUP::findOrFail($id);
【讨论】:
以上是关于Laravel:检查记录ID是不是存在的主要内容,如果未能解决你的问题,请参考以下文章
laravel 在插入之前检查记录是不是存在,这是一种有效的方法
如何检查记录是不是已经存在,然后在 laravel 中更新或插入?