首页 > 解决方案 > 如何将关联数据与列表查找器一起使用?

问题描述

我正在使用带有列表的查找为我的下拉菜单创建选项。但我想获取关联表的数据。下面给出的是我的代码

$users = $this->UserRoles
    ->find('list', [
        'contain' => ['Users'],
        'limit' => 200,
        'keyField' => 'id',
        'valueField' => 'Users.first_name'
    ])
    ->where([
        'Users.status' => true,
        'Users.company_id' => $company_id,
        'UserRoles.role_id' => 4
    ]);

但它返回我 null 作为输出。

标签: phpcakephpassociationsquery-buildercakephp-3.x

解决方案


书中的示例具有contain如下链接的查询:

$query = $articles->find('list', [ 'keyField' => 'id', 'valueField' => 'author.name' ])->contain(['Authors']);

所以也许尝试:

$users = $this->UserRoles ->find('list', [ 'limit' => 200, 'keyField' => 'id', 'valueField' => 'Users.first_name' ]) ->contain(['Users']) ->where([ 'Users.status' => true, 'Users.company_id' => $company_id, 'UserRoles.role_id' => 4 ]);


推荐阅读