如何解决在Laravel 7中检索模型并更新其多态相关模型
我有2个模型
资产
public function attributes()
{
return $this->morphMany(Attribute::class,'attributable');
}
属性
public function attributable()
{
return $this->morphTo();
}
我想检索一个资产并更新其属性,例如...
public function update(Request $request,Asset $asset){
$array = [{id: 1,name:'foo',value: ''},{id: 2,name: 'bar',value: ''}];
//update should happen here
$asset->attributes()->saveMany($array);
}
我可以检索关系,不用担心,但是我知道这是行不通的,因为saveMany()需要模型的实例作为其参数。所以我尝试了这个...
foreach ($array as $a){
$update = Attribute::find($a->id); ///<---this causes an error
$update = Attribute::find($a['id']); ///<---this way as well
}
我知道我必须在这里错过一些真正基本的东西,但是...有一种雄辩的方法吗?我一直在擦洗在线文档无济于事。任何帮助或指导都将不胜感激。
解决方法
首先这是无效的{grp:ApiExplorerSettings.GroupName}
,
php
应该是这样的:
$array = [{id: 1,name:'foo',value: ''},{id: 2,name: 'bar',value: ''}];
第二,您基本上是在询问$array = [['id' => 1,'name' => 'foo','value'=> ''],['id'=> 2,'name'=> 'bar','value'=> '']];
仍然不在bulk update
中的情况。
请参阅此issue,那里有潜在的解决方案。
但是您可以做的是这个
laravel
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。