Laravel中获取关联模型时子关联丢失问题求助
问题原因与解决方法
- 你调用
$data->x()->get()时,是重新发起了一次独立的数据库查询,这次查询没有指定预加载xy子关联,所以返回的X模型里xy关联为空。 - 此前通过
with('x.xy')已经将X和XY的关联数据预加载到了$data对象中,直接访问属性$data->x就能拿到包含XY子关联的完整数据,不需要再调用->get()。
示例代码:
// 正确获取预加载好的X关联(包含XY子关联) $something = $data->x;
如果确实需要通过关联查询构造器添加额外查询条件,记得重新指定预加载:
// 重新查询并预加载XY子关联 $something = $data->x()->with('xy')->get();
内容的提问来源于stack exchange,提问作者Noarifumirimota
相关产品推荐
相关产品推荐

