如果我有多对多关系,则使用其sync
方法更新关系非常容易。
但是,我将使用什么来同步一对多关系?
posts
:id, name
links
:id, name, post_id
在这里,每个Post
可以有多个Link
s。
我想根据输入的链接集合(例如,来自CRUD表单,可以在其中添加,删除和修改链接)同步与数据库中特定帖子关联的链接。
我的输入集合中不存在的数据库链接应该删除。应该更新数据库和我的输入中存在的链接以反映输入,并且应该将仅存在于我的输入中的链接添加为数据库中的新记录。
总结所需的行为:
不幸的是,没有sync
建立一对多关系的方法。自己做很简单。至少如果您没有任何外键引用links
。因为这样您可以简单地删除行并再次插入所有行。
$links = array(
new Link(),
new Link()
);
$post->links()->delete();
$post->links()->saveMany($links);
如果您确实需要更新现有的(出于某种原因),则需要完全按照问题中的描述进行操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句