detach()然后attach()再次具有与sync同样的效果吗?
我的意思是我可以使用这个
$user->settings()->detach(44);
$user->settings()->attach(44, ['extra'=>'data]);
而不是这个
$user->settings()->attach([44 => ['extra'=>'data]]);
答案 0 :(得分:1)
通过同步,您实际上可以"同步"您在数据库中提供的数据。
假设您要将帖子同步到用户:
User::find($someUser)->posts()->sync([5, 7]);
OR
User::find($someUser)->posts()->attach(5);
User::find($someUser)->posts()->attach(7);
sync()会在DB中保留您传递给它的ID,其中attach()会添加到现有数据中。