0

我有一个名为 CustomerInfo 的模型,我正在尝试更新它。更新返回 true,但更改未反映在我的数据库中。

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

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

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

3 回答 3

0

确保您希望通过其值更新记录的 $data 变量,与该记录不同。在这种情况下,您没有 sql 错误,但更新的返回将为零。

于 2021-09-20T20:14:09.913 回答
0
$result = $customerInfo->update($data);

$result变量将仅返回布尔值。尝试返回$customerInfo

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

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

尝试使用dd()如下方式来确定问题:

dd($variable);  
于 2021-09-21T04:45:07.630 回答
0

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

DB::beginTransaction();//did this
$customerInfo = CustomerInfo::where('machine_name',$username)->firstOrFail();
$result = $customerInfo->update($data);
DB::Commit() //forgot to implement this part.
于 2021-09-21T07:58:42.223 回答