一、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]);