associate 的意义?

具体例子,user 和 order 中间的关联关系是 user_id字段

里面使用的是 $order->user->associate($user);

它和 $order->user_id = $user->id;

有什么区别吗

每天3小时...加油
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

两者最终保存的结果是一样的,都是把user_id保存到orders表中。
关于associate方法 可以查看vendor\laravel\framework\src\Illuminate\Database\Eloquent\Relations\BelongsTo.php +216
associate仅在belongTo时有效,例如上面的 一个user可以有多个orders

5年前 评论
讨论数量: 5

两者最终保存的结果是一样的,都是把user_id保存到orders表中。
关于associate方法 可以查看vendor\laravel\framework\src\Illuminate\Database\Eloquent\Relations\BelongsTo.php +216
associate仅在belongTo时有效,例如上面的 一个user可以有多个orders

5年前 评论
leo

性质是一样的,但 associate() 是推荐的用法。

另外应该是 $order->user()->associate($user); 而不是 $order->user->associate($user);,这两者有很大区别。

5年前 评论

两者最终保存的结果是一样的,都是把user_id保存到orders表中。
关于associate方法 可以查看vendor\laravel\framework\src\Illuminate\Database\Eloquent\Relations\BelongsTo.php +216
associate仅在belongTo时有效,例如上面的 一个user可以有多个orders

5年前 评论
leo

性质是一样的,但 associate() 是推荐的用法。

另外应该是 $order->user()->associate($user); 而不是 $order->user->associate($user);,这两者有很大区别。

5年前 评论

把你现有的user模型绑到order模型上,如果你后面的代码有$order->user->。。。,可以不用再去查一次库。

5年前 评论

您好 ,请问一下attach()这个方法和associate()有什么区别吗?attach可以在belongTo()里面用吗?他们的使用场景是?

5年前 评论

@QJAutumn attach() 是用在模型之间多对多关系时候的吧

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!