Eloquent 模型更新 returns 正确但数据库更改未反映

Eloquent model update returns true but db change not reflecting

我有一个名为 CustomerInfo 的模型,我正在尝试更新它。更新 returns 是的,但更改没有反映在我的数据库中。

$customerInfo = CustomerInfo::where('machine_name',$username)->firstOrFail();
$result = $customerInfo->update($data);

$data 变量是一个具有键值对的数组。 还尝试了以下

$customerInfo = CustomerInfo::where('machine_name',$username)->update($data);

确保您想要更新记录的 $data 变量的值与该记录不同。 在这种情况下,您没有 sql 错误,但更新的 return 将为零。

$result = $customerInfo->update($data);

$result 变量将 return 只有布尔值。尝试 return $customerInfo

return response()->json($customerInfo);

这将帮助您找到实际问题并确保 CustmerInfo 模型包含可填充的属性并且 $data 变量包含所有信息。

尝试使用如下所示的 dd() 来确定问题:

dd($variable);  

解决了我的问题。 谢谢卢西亚诺。 我开始了 eloquent 手动数据库事务并忘记在最后提交它

DB::beginTransaction();//did this
$customerInfo = CustomerInfo::where('machine_name',$username)->firstOrFail();
$result = $customerInfo->update($data);
DB::Commit() //forgot to implement this part.