HABTM найти с условием - PullRequest
       5

HABTM найти с условием

0 голосов
/ 23 октября 2010

У меня есть две таблицы, которые связаны как HABTM:

  • Группы (идентификатор, имя)
  • Потоки (id, Stream)

Соединительный стол:

  • groups_streams (id, group_id, stream_id)

Существует еще одна модель под названием Users, которая называется HasOne Group.

От контроллера пользователя я пытаюсь получить потоки, связанные с группой пользователей.

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

Я делаю это, но получаю ошибку MySQL:

Ошибка SQL: 1064: в синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '= 2' в строке 1

SQL-запрос:

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

Я в замешательстве: (

Ответы [ 2 ]

2 голосов
/ 23 октября 2010

Вам нужно заключить User.group_id в кавычки в вашем массиве 'conditions':

$streams = $this->User->Group->find('list', array(
    'conditions' => array('User.group_id' => 2)
));
1 голос
/ 23 октября 2010

Я бы предпочел:

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