Laravel:检查记录 ID 是否存在

问题描述

很抱歉问,我是 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,将其留给数据库自动增量。其次,在您的查询中

$data = FUP::where('id')->first();

您忘记将 $id 参数传递给 where 查询,如下所示:

$data = FUP::where('id',$id)->first();
,

下面的工作

$data = FUP::find($id);

它比

$data = FUP::where('id',$id)->first();

并做同样的事情。如果您想自动返回 404 以防找不到与给定 id 匹配的任何记录,您甚至可以执行以下操作

$data = FUP::findOrFail($id);