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 中是不是存在记录不起作用

如何检查记录是不是已经存在,然后在 laravel 中更新或插入?

检查行是不是存在,Laravel

检查文件夹是不是已经存在,如果没有在 laravel 中通过 id 创建一个新文件夹

Laravel 8 如何连接 2 个表并检查值是不是存在