associate 的意义?

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

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

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

有什么区别吗

每天 3 小时... 加油
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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

6年前 评论
讨论数量: 5

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

6年前 评论
leo

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

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

6年前 评论

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

6年前 评论
leo

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

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

6年前 评论

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

6年前 评论

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

6年前 评论

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

6年前 评论