我有两个表,一个是“item”,第二个是mysql数据库中的“composite item”。我正在尝试为laravel中的一条记录在复合项表中插入多个items id。
其中一个逻辑是我尝试将多个items id保存为逗号分隔的值,例如“1,2,3,4”,并将该字段更新为相同的概念。但当我从item表中删除任何一个项时,我遇到了问题。如果我从item表中删除了任何一个项,那么如何从复合项表中的string item id中删除相同的项。例如,我从item表中删除了item id 3。
我还想,如果我为一对多关系创建新表,那么在更新记录时如何更新记录。
1条答案
按热度按时间bjp0bcyl1#
你肯定是在寻找多对多的关系,不是吗
one-to-many
. laravel具有生成和维护many-to-many
关系。这个
attach/detach
方法用于关系中的单个或多个插入或删除。例如,如果要向复合项添加项数组([1,2]),可以使用attach
比如:分离也是如此:
这个
sync
方法用于更新现有记录。Sync
有点棘手,工作原理如下:sync方法接受要放置在中间表上的id数组。任何不在给定数组中的ID都将从中间表中删除。
比如,如果你想删除2,插入3,你可以使用
sync
这样地: