我有一个名为admins的表和一个名为Admin的模型。
当我尝试更新记录时,它每次都失败一个字段。
$admindetail = Admin::find($id);
$admindetail->fill(['is_delete'=>1])->save();
字符串
上面的代码没有更新数据库中的记录。is_delete
的数据类型是tinyint。
如果我更新名称字段,它将使用相同的代码,如
$admindetail = Admin::find($id);
$admindetail->fill(['name'=>'abc'])->save();
型
你能告诉我为什么第一个代码不工作吗?
5条答案
按热度按时间afdcj2ne1#
模型用于与表进行交互,因此您需要存储在数据库中的所有属性都需要在模型中定义,因为您的管理模型应该是这样的
字符串
您的Model代码中缺少
is_delete
。0kjbasz62#
你可以尝试下面的代码,而不是将值作为数组传递:
字符串
ymzxtsji3#
使用布尔类型,无整数1:
$adminDetail->fill(['is_delete' => true])->save();
你可以使用as属性而不使用
fill
方法,也不需要在$fillable
数组中接受is_delete
:字符串
bejyjqdl4#
你应该像这样检查模型中的可填充项:
字符串
zy1mlcev5#
更新对我也不起作用。然后我发现我调用了上面的事务,它不起作用,因为我在返回之前没有提交。