【发布时间】:2013-11-02 23:03:05
【问题描述】:
我正在尝试使用 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 关系,但我不确定如何让它工作以存储同一模型的多个记录,以及另一个模型中的一个,在链接表中。
这让我头疼,所以任何外部观点或建议确实会很有帮助, 谢谢!
【问题讨论】:
标签: php mysql database cakephp relationship