我在发帖前搜索过,我发现了这个
Preventing Laravel adding multiple records to a pivot table
但是,如果我尝试该解决方案,我会遇到有关查询构建器使用contains()
的异常我需要检查一个项目是否已经附加到数据透视表中的用户,以防止多个帖子:
这是我试过的那条线:
if (!Auth::user()->collected_item()->contains($id)) {
Auth::user()->collected_item()->attach($id);
}
但据说不起作用。 所以我构建了一个查询来检查db_中是否存在行user_id / id,如果得到的var是空的附加项,则打印"已经存在" ..这种方式有效但是可以简化吗?
答案 0 :(得分:3)
if (!Auth::user()->collected_item()->contains($id))
到
if (! Auth::user()->collected_item->contains($id) )