Domanda

Ho due tabelle che sono legati come HABTM:

  • Gruppi (id, nome)
  • Streams (id, Stream)

Tavolo di collegamento:

  • groups_streams (id, group_id, stream_id)

C'è un altro modello chiamato Utenti che HasOne Gruppo.

Dal controller utente Sto cercando di ottenere i flussi relativi al gruppo per l'utente.

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

sto facendo questo, ma sto ricevendo un errore di MySQL:

  

SQL Errore: 1064: Hai un errore nella sintassi SQL; controllare il manuale che corrisponde alla vostra versione del server MySQL per la sintassi del diritto di usare in prossimità '= 2' at line 1

query SQL:

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

Sono confuso: (

È stato utile?

Soluzione

avrei preferito andare con:

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

Altri suggerimenti

È necessario avvolgere User.group_id tra virgolette all'interno dell'array 'conditions':

$streams = $this->User->Group->find('list', array(
    'conditions' => array('User.group_id' => 2)
));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top