您的位置:首页 > 房产 > 建筑 > thinkphp5多层with关联查询错误问题

thinkphp5多层with关联查询错误问题

2025/9/6 23:42:32 来源:https://blog.csdn.net/qq_31340657/article/details/140390799  浏览:    关键词:thinkphp5多层with关联查询错误问题

官方文档
https://www.kancloud.cn/manual/thinkphp5/139045

V5.0.7版本以上,支持使用数组方式定义嵌套预载入,例如下面的预载入要同时获取用户的Profile关联模型的Phone、Job和Img子关联模型数据:

$list = User::with(['profile'=>['phone','job','img']])->select([1,2,3]);
foreach($list as $user){// 获取用户关联dump($user->profile->phone);dump($user->profile->job);    dump($user->profile->img);    
}

实际操作时发现问题,关联模型里面必须要哪个in方式查询(默认的),如果使用fastadmin自动生成的代码,默认是join查询,所以无效
public function profile()
{
// 设置预载入查询方式为IN方式
return $this->hasOne(‘Profile’)->setEagerlyType(1);
}

但是问题来了,如果多层关联查询,setEagerlyType(1)就无效了,没法查出第二层的关联数据,必须是传入0才可以,麻烦啊

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com