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.
我有一个名为 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.