繁体   English   中英

正确使用updateOrCreate方法

[英]Proper use of updateOrCreate method

我在保险表和确认表之间有一个OnetoOne关系。

这是确认的迁移:

$table->increments('id');
        $table->integer('insurance_id')->unsigned()->index()->unique();
        $table->boolean('status');
        $table->timestamps();
        $table->foreign('insurance_id')->references('insurancenumber')->on('insurances');

我想使状态可更新。

有一个带有两个拒绝和接受按钮的表单,控制器执行此操作:

    public function confirmation(){

    $confirm_button = Request::get('confirm_button');
    $reject_button = Request::get('reject_button');
    if (isset($confirm_button)){
        $status = true;
    }else if (isset($reject_button)){
        $status = false;
    }
    Confirmation::updateOrCreate(['insurance_id' => session('insurance_id')],['status'=> $status]);
}
}

我想要是否存在具有相同insurance_id的确认行,只需对其进行更新。

始终将状态设置为false。 会话具有正确的值,我之前进行过检查。

如果要防止重复输入,请使用唯一验证规则检查唯一属性。

或者,您可以首先使用find或任何查询构建器检入数据库,然后创建新的模型实例(如果尚不存在)。

$ status变量永远不会到达else块。 您可能需要发布表单代码以进行更深入的调查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM