2010-09-11 4 views
0

J'utilise CakePHP ici. Disons que j'ai 3 groupes d'utilisateurs, à savoir:Comment trouver des utilisateurs basés sur des groupes définis dans ACL dans CakePHP?

  1. Super administrateur
  2. Administrateur
  3. Client

et ce scénario a été configuré en utilisant ACL.

Maintenant, comment retourner uniquement les utilisateurs appartenant à un groupe particulier? par exemple. Trouvez tous les clients ne

Je suis en mesure de le faire en utilisant la déclaration pure SQL:

SELECT * 
FROM `users` 
WHERE `id` 
IN (
SELECT foreign_key 
FROM `aros` 
WHERE `parent_id` =3 
) 

Comment puis-je le faire de la manière d'utiliser CakePHP $this->Model->find();?

Répondre

0

La voie est la même que dans tous les cas: trouver

$users = $this->User->find('all', array('conditions'=>array('User.aro_id'=>3))); 

Fondamentalement, il dépend de la relation, mais pour autant je comprends ses utilisateurs Groupe hasMany.

+0

Merci pour la réponse rapide mais, ma configuration d'ACL ne contient pas une autre table pour le groupe. Tout est défini dans la table aros.alias. Donc, il n'a aucune relation avec la table des utilisateurs. C'est pourquoi je n'arrive pas à trouver un moyen d'obtenir uniquement les utilisateurs d'un groupe particulier d'une manière simple. – kenfai

+0

Ok, mais comment Aro est lié avec les utilisateurs? –

Questions connexes