gpt4 book ai didi

php - Laravel Eloquent - 附加与同步

转载 作者:IT王子 更新时间:2023-10-28 23:59:12 24 4
gpt4 key购买 nike

Laravel 4 的 Eloquent ORM 中 attach()sync() 有什么区别?我试着环顾四周,但找不到任何东西!

最佳答案

附加():

  • 在处理多对多关系时插入相关模型
  • 不需要数组参数

例子:

$user = User::find(1);
$user->roles()->attach(1);

同步():

attach()方法类似,sync()方法用于附加相关模型。但是,主要区别是:

  • sync() 接受一组 ID 以放置在数据透视表上
  • 其次,最重要,如果模型不存在于数组中,sync 方法将从数据透视表中删除数据,并且仅将新项目插入数据透视表。

例子:

用户角色

id  user_id role_id1    12       12    12       53    12       2
$user = User::find(12);
$user->roles()->sync(array(1, 2, 3));

以上操作会删除:

id  user_id role_id2    12       5

并将role_id 3插入表中。

user_role 表

id  user_id role_id1    12       13    12       24    12       3

关于php - Laravel Eloquent - 附加与同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com