我正在尝试使用 CakePHP 中的 HABTM 关联将来自同一模型的多个记录连接到来自另一个模型的一个记录。
我试图关联的模型是 User 和 Bet。用户模型比较标准,难的是赌注模型。除其他事项外,投注记录具有 ID,以及 user_1_id 和 user_2_id 列。每个赌注有两个参与者。
起初我认为将这两个存储在 bet 表中的同一记录中会很好,在用户模型中有一个简单的 hasMany 关联,以及一个查找器查询,因为我有两个外键:
public $hasMany = array(
'Bet' => array(
'className' => 'Bet',
'foreign_key' => false,
'finderQuery' => 'SELECT *
FROM `bets` as `Bet`
WHERE `Bet`.`user_1_id` IN ({$__cakeID__$})
OR `Bet`.`user_2_id` IN ({$__cakeID__$})',
),
然而,就像我说的那样,我遇到了一些困难,而且似乎这种关系只在一个方向上起作用(即,我可以在处理单个投注时查看用户详细信息,但在处理用户时我无法关联投注详细信息) .
所以现在我相信我将需要一个带有连接表的 HABTM 关系,我不确定如何让它在链接表。
这让我很头疼,所以任何外部观点或建议确实会很有帮助,谢谢!