我有一个用户表、角色和 users_roles 作为连接/数据透视表。我正在尝试创建一个查询来检索所有没有这些角色的用户:干预者、编辑、主管
目前这是我的查询,但我没有得到想要的结果,因为具有这些角色的用户仍然会来。
$users = TableRegistry::getTableLocator()->get('Users');
$allUsers = $users->find('all', ['order' => ['Users.id ASC']])->select([
'id',
'name',
'surname',
])
->contain('Roles', function (Query $q) {
return $q
->select(['slug'])
->notMatching('Users.Roles', function ($q) {
return $q->where(['Roles.slug NOT IN' => ['interventor', 'editor', 'chief']]);
});
});
谢谢