2010-10-23 5 views
0

J'ai deux tables qui sont liées comme HABTM:HABTM trouver une condition

  • Groupes (id, nom)
  • Streams (id, Stream)

Table Connexion:

  • groups_streams (id, group_id, stream_id)

Il existe un autre modèle appelé Users qui HasOne Group.

À partir du contrôleur utilisateur, j'essaie d'obtenir les flux liés au groupe de l'utilisateur.

$streams = $this->User->Group->find('list', array('conditions' => array(`User.group_id` => 2))); 

que je fais, mais je suis une erreur MySQL obtenir:

SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 2' at line 1

requête SQL:

SELECT `Group`.`id` FROM `groups` AS `Group` WHERE = 2 

Je suis confus :(

Répondre

1

Je voudrais plutôt aller avec:

$streams = $this->Stream->Group->find('list', array('conditions' => array('Group.id => 2)); 
2

Vous devez envelopper User.group_id entre guillemets au sein de votre tableau 'conditions':

$streams = $this->User->Group->find('list', array(
    'conditions' => array('User.group_id' => 2) 
)); 
Questions connexes