私は3つのテーブルを持っています:
ユーザー[ID、名前、ユーザー名、パスワード、役割]
イベント[ID、日付、場所、名前]
参加者[ID、ユーザーID、イベントID]
そして、特定のユーザーが参加したすべてのイベントを選択したいと考えています。このために、テストして目的の結果を返したSQLクエリを作成しました。
SELECT * FROM event
INNER JOIN participant ON participant.eventId = event.id
WHERE participant.userId = $id
この後、このサイトの他の投稿に従って機能するはずの zend リクエストに変えてみました。
public function getEvents($id)
{
$db = Zend_Db_Table::getDefaultAdapter();
$select = $db->select();
$select->from('event')
->joinInner('participant','participant.eventId = event.id')
->where('participant.userId = ?', $id);
$res = $db->query($select)->fetchAll();
return $res;
}
「PDO_MYSQL」をアダプターとして使用していますが、テーブルへの挿入、テーブル全体または特定の行の選択に問題はありません。しかし、上記のコードは、私が望むものの代わりに単純な fatchall() を実行しているようです。そして、それを変更しようとしても、常にイベントテーブルのコンテンツが返されます。
私の質問は次のとおりです。なぜこれが起こっているのか、誰にも分かりますか?