php - 通过 eloquent 用一个对象更新 mongodb 集合
问题描述
我想通过 eloquent 将以下对象保存到 mongodb 集合上的字段中
"project_settings" : {
"resource" : true,
"zone" : true,
"contractor" : true,
"responsible_person" : false
}
这是我的 php 代码:
return ProjectModel::where($project_id)->first()->update($project_data);
不要担心它工作正常的模型我需要进行更新项目集合的查询
和 $project_data =
project_settings:array(4)
resource:true
zone:true
contractor:true
responsible_person:true
现在我没有得到任何错误。它返回成功,但实际上没有任何更新。有人可以帮忙吗?
解决方案
问题可能与您的输入有关。
的方法签名update
如下所示:
public function update(array $attributes = [], array $options = [])
所以你传入的属性必须是数组,而不是对象。
该where()
方法还需要两个输入,例如where('column_name', $value)
.
所以试试下面的方法:
ProjectModel::find($project_id)->update([
"project_settings" => [
"resource" => true,
"zone" => true,
"contractor" => true,
"responsible_person" => false
],
]);
推荐阅读
- python - 焦点事件的问题
- php - 如何使用每个数组的第一项
- javascript - 将 iframe 元素转换为文本数据?- JavaScript
- php - 从php中的某些东西中获取数组
- r - R `scales::comma` 工作但 `scales::comma()` 不工作 - 为什么?
- html - 如何摆脱div内图像周围的默认边距?
- spring-boot - 使用 Kafka Streams 和 Spring-Cloud-Stream 处理事务
- javascript - 使用 puppeteer 通过 Headless Chrome 绕过 CAPTCHA
- javascript - 向原型中添加一个方法,该方法以全部大写形式返回
- java - 在多类型数组列表中为每个使用 a