You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中使用save()保存Post时能否预加载关联的User模型?

解决方案

可以通过手动设置关联关系的方式,避免额外的数据库查询。具体做法是在保存Post后,调用setRelation方法将已有的User实例绑定到Post模型上:

$user = User::find(1);
$post = new Post();
$user->posts()->save($post);

// 手动关联User实例到Post,无需查询数据库
$post->setRelation('user', $user);

// 此时访问$post->user不会触发新的数据库查询
$userPost = $post->user;

Laravel的setRelation方法会直接将模型实例存入当前模型的关联缓存中,后续访问该关联时就会直接使用内存中的实例,而不会再去数据库查询。

内容的提问来源于stack exchange,提问作者Carlos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 06:42:46