【问题标题】: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 列。只需将其保持为自动增量并为您的业务逻辑创建另一列。

标签: php mysql sql laravel laravel-blade


【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 2015-01-21
      • 2020-01-14
      • 2018-06-01
      • 2011-02-20
      • 1970-01-01
      相关资源
      最近更新 更多