質問

HABTM として関連付けられた 2 つのテーブルがあります。

  • グループ(ID、名前)
  • ストリーム(id, ストリーム)

接続テーブル:

  • groups_streams(id, group_id, stream_id)

HasOne Group を持つ Users と呼ばれる別のモデルがあります。

ユーザー コントローラーからユーザーのグループに関連するストリームを取得しようとしています。

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

これを実行しているのですが、MySQL エラーが発生します。

SQLエラー:1064:SQL 構文にエラーがあります。1 行目の「= 2」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

SQL クエリ:

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

私は混乱しています :(

役に立ちましたか?

解決

私はむしろに行くだろう

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

他のヒント

あなたはUser.group_id配列内の引用符で'conditions'をラップする必要があります:

$streams = $this->User->Group->find('list', array(
    'conditions' => array('User.group_id' => 2)
));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top