php - 无法在 Laravel eloquent 中更新集合
问题描述
有一个表结构如下:(主键:user_id,record_id)
+---------+-----------+-------+
| user_id | record_id | value |
+---------+-----------+-------+
| 1 | 1 | 100 |
| 1 | 2 | 200 |
| 2 | 1 | 300 |
| 2 | 2 | 400 |
+---------+-----------+-------+
当我在控制器中通过 eloquent-query更改value参数时,如下所示:
$playerRecord = Test::where('user_id', '=', $player_id)->where('record_id', '=', '1')->first();
$playerRecord->value = $user_value1;
$playerRecord->save();
我有一个错误:https ://flareapp.io/share/47qg8ZEm#F49
如果我在模型中只定义一个主键,那么所有具有这个键的记录都会被更新,尽管我强制更新了一个特定的记录。
解决方案
$playerRecord = Test::where('user_id', '=', $player_id)->where('record_id', '=', '1')->update(['value'=>$user_value1]);
if($playerRecord){
return "data updated";
}else{
return "data not found";
}
推荐阅读
- javascript - 使用外部模块的 JavaScript 空数组
- azure - Azure 可用区中的可用性集
- swift - 无法确定由 sorted 推断的类型语法
- python-3.x - 如何在不等待python中调用函数完成的情况下继续函数
- flutter - 在 background_locator 中询问位置权限之前添加弹出窗口
- python - 如何在Django中按顺序列出消息
- node.js - 如何在某个日期使用 Mongoose 自动删除 MongoDB 中的文档
- deep-learning - 在 google colab 上运行 !make 和 !rm darknet 时出错
- reactjs - 反应中不存在文档快照
- java - POST 请求失败(放心测试) 预期的响应主体将被验证为 JSON、HTML 或 XML,但响应中没有定义内容类型。?