Como corresponder registros associados a um conjunto específico de outros registros?
Estou tentando adicionar duas variações de pesquisa diferentes ao meu projeto. Existe um modelo "Usuário" e um modelo "Tag". Um usuário tem muitas tags. Agora eu quero poder pesquisar os usuários com tags específicas. Desejo mostrar a todos os usuários que possuem alguma das tags especificadas. Eu consegui trabalhar desta maneira:
$query = $this->Users->find();
$query->matching('Tags', function ($q) {
return $q->where(['Tags.name' => 'Tag1'])
->orWhere(['Tags.name' => 'Tag2']);
});
Mas agora eu quero encontrar todos os usuários que possuem as duas tags ao mesmo tempo. eu tentei->andWhere
ao invés de->orWhere
, mas o resultado está sempre vazio.
Como posso encontrar usuários que contêm várias tags?
obrigado