php - 如何将关联数据与列表查找器一起使用?
问题描述
我正在使用带有列表的查找为我的下拉菜单创建选项。但我想获取关联表的数据。下面给出的是我的代码
$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 作为输出。
解决方案
书中的示例具有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
]);
推荐阅读
- google-cloud-platform - 删除 Google Cloud Storage 对象会导致“无效参数”和“storage_class_update_time_nano”错误
- docker - 使用 docker buildx 时出现证书错误
- java - 如何在 JavaFX 中使用自定义 CSS 而不会收到警告?
- r - 多个 if 语句来定义在 R 中应用和忽略哪些过滤器
- snowflake-cloud-data-platform - 具有帐户管理员角色的雪管上的权限不足错误
- javascript - 使用 API 创建仪表图
- c++ - 为什么从并行文件夹CMake中找不到文件
- r - 这个错误究竟是什么,“tar:无法设置默认语言环境”是什么意思?
- android - Android Oreo及以上版本将应用程序变成系统应用程序的正确方法是什么?
- node.js - npm install -g react-native-cli