Php 如何在检索关联数据时选择用户表字段
我有“users(id,name)”和“userdrivermapping(id,user\u id,driver\u id)”表。user_id和driver_id都是users表中id的外键。我想在用户视图页面中显示驱动程序名称。我不知道如何在表关联中选择用户字段。“名称字段始终返回空” 这是我的控制器代码Php 如何在检索关联数据时选择用户表字段,php,cakephp,cakephp-3.x,Php,Cakephp,Cakephp 3.x,我有“users(id,name)”和“userdrivermapping(id,user\u id,driver\u id)”表。user_id和driver_id都是users表中id的外键。我想在用户视图页面中显示驱动程序名称。我不知道如何在表关联中选择用户字段。“名称字段始终返回空” 这是我的控制器代码 $id = 7 ; $query = $this->Users->UserDriverMapping->find() ->contain([
$id = 7 ;
$query = $this->Users->UserDriverMapping->find()
->contain([
'Users' => function ($q) use($id) {
return $q
->select(['UserDriverMapping.id,user_id, driver_id,name'])
->where(['UserDriverMapping.user_id' => $id]);
}
]);
foreach ($query as $driver) {
echo $driverId = $driver->user_id;
echo $driverId = $driver->name;
}
用户通过UserDriverMapping属于任何驱动程序?这是表之间的关系吗?$this->belongsTo('Users',['foreignKey'=>'driver\u id','joinType'=>'INNER']);您需要首先指定模型关联。请通过UserDriverMapping发布$query的结果,用户是否属于任何驱动程序?这是表之间的关系吗?$this->belongsTo('Users',['foreignKey'=>'driver\u id','joinType'=>'INNER']);您需要首先指定模型关联。请发布$query的结果,