有什么区别attach()
and sync()
在 Laravel 4 的 Eloquent ORM 中?我试图环顾四周,但什么也没找到!
附():
Example:
$user = User::find(1);
$user->roles()->attach(1);
sync():
类似于attach()
方法,将sync()
方法用于附加相关模型。然而,主要区别是:
-
sync()
接受要放置在数据透视表上的 ID 数组
- 第二,最重要的,如果数组中不存在模型,则sync方法将从数据透视表中删除数据,并仅将新项目插入到数据透视表中。
Example:
用户角色
id user_id role_id
1 12 1
2 12 5
3 12 2
$user = User::find(12);
$user->roles()->sync(array(1, 2, 3));
上述操作将删除:
id user_id role_id
2 12 5
并插入role_id 3
到桌子上。
用户角色表
id user_id role_id
1 12 1
3 12 2
4 12 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)