一、thinkphp5.0

如果要指定属性查询,可以使用:

$list = User::field('id,name')->with(['profile'=>function($query){$query->field('email,phone');}])->select([1,2,3]);
foreach($list as $user){
    // 获取用户关联的profile模型数据
    dump($user->profile);
}

5.0的话大概率会报错:类的属性不存在:app\admin\model\goodsfile\Goods->id,

这里field需要同时查询主键id

二、thinkphp5.1

如果要指定属性查询,可以使用:注意区别 withField

$list = User::with(['profile' => function($query){
	$query->withField('truename,email');
}])->select([1,2,3]);

V5.1.22+版本开始,推荐使用withJoin方法进行关联预载入代替使用setEagerlyType方法定义JOIN方式。

$list = User::withJoin(['profile' => function($query){
	$query->withField('truename,email');
}])->select([1,2,3]);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐