我在Games
和Participants
之间有HABTM关系。我需要找到一个Game
Participants
,1
ID为2
,$options['conditions']['participant_id'] = array('1', '2');
$game = $this->GamesParticipant->find('first', $options);
为“绑定”。怎么做到这一点?
我试过
WHERE participant_id IN (1, 2)
哪个不起作用,因为SQL查询以Game
结束,这不是我想要实现的目标(它找到第一个Participant
1
{ {1}}或2
不是两者的人。有什么建议吗?
答案 0 :(得分:0)
为了找到同时拥有参与者#1和参与者#2的游戏,我认为您需要进行手动加入:
$this->GamesParticipant->find('first',
array(
'conditions' => array('participant_id' => 1),
'joins' => array(
array(
'table' => 'games_participants',
'type' => 'inner',
'alias' => 'GamesParticipant2',
'conditions' => array(
'GamesParticipant.game_id = GamesParticipant2.game_id',
'GamesParticipant2.participant_id' => 2
)
)
)
));