Laravel:在多态关系

时间:2018-06-12 11:05:17

标签: laravel eloquent

我正在尝试在我的多态关系上使用updateOrCreate方法,该关系称为Taggable。这是我用来创建新标签的方法。

public function attachTag($attributes)
    {
        return $this->tags()->create($attributes);
    }

如果我将create方法更改为更新,则在更新模型时也可以正常工作。但我想使用updateOrCreate方法,这是有问题的,因为我没有在$属性中传递ID,因此它只是不知道,如果DB中有一些记录。

我做了一些谷歌搜索,发现这个特殊情况很少,只有我应该传递第二个参数。但我很困惑,我应该通过哪个参数作为第二个使其正常工作。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

2种可能的解决方案

1- https://laracasts.com/discuss/channels/eloquent/updateorcreate-on-polymorph-relation

在此链接中,您应该通过选择第二个参数来检测您想要的那个。

2- Laravel: UpdateOrCreate on Relation? 我认为这也解决了你的问题。

我曾经使用过#1解决方案。

希望有所帮助