Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在检索关联数据时选择用户表字段_Php_Cakephp_Cakephp 3.x - Fatal编程技术网

Php 如何在检索关联数据时选择用户表字段

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([

我有“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([
        '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的结果,