我正在尝试在我的多态关系上使用updateOrCreate方法,该关系称为Taggable。这是我用来创建新标签的方法。
public function attachTag($attributes)
{
return $this->tags()->create($attributes);
}
如果我将create方法更改为更新,则在更新模型时也可以正常工作。但我想使用updateOrCreate方法,这是有问题的,因为我没有在$属性中传递ID,因此它只是不知道,如果DB中有一些记录。
我做了一些谷歌搜索,发现这个特殊情况很少,只有我应该传递第二个参数。但我很困惑,我应该通过哪个参数作为第二个使其正常工作。
提前感谢您的帮助。
答案 0 :(得分:0)
2种可能的解决方案
1- https://laracasts.com/discuss/channels/eloquent/updateorcreate-on-polymorph-relation
在此链接中,您应该通过选择第二个参数来检测您想要的那个。
2- Laravel: UpdateOrCreate on Relation? 我认为这也解决了你的问题。
我曾经使用过#1解决方案。
希望有所帮助