[英]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.