通常,我可以在一个表中创建外键(即列),Cakephp以不同的名称与另一个模型的列关联吗?顺便说一下,我正在使用bake all
开始使用标准CRUD设置。
我的问题的一般形式是:
Table_A
有id
| label
| TableB_labelA_id
| TableB_labelB_id
Table_B
有id
| label
为了使问题的其余部分不那么难看,这是我目前的申请:
games
有id
| date
| us
| them
teams
有id
| name
我认为这可以通过别名和关联定义来实现,但我不太明白。我还想到创建Us
和Them
扩展Team
的模型,但这似乎是一种不必要的努力。
我也注意到,在我的Game model
Us
和Them
列在$belongsTo
数组中,而不是$hasMany
,直觉上似乎更正确。
想法?我非常感激!
答案 0 :(得分:2)
您只需要别名和正确的关联定义。这就是你所需要的。
class Game extends AppModel {
public $belongsTo = array(
'Us' => array(
'className' => 'Team',
'foreignKey' => 'us'
),
'Them' => array(
'className' => 'Team',
'foreignKey' => 'them'
),
);
}
Bake无法帮助你解决这个问题。如果所有命名都符合惯例,那么它只能进行有根据的猜测。在这种情况下,这是不可能的。