4

我有一个带有 CakePHP 的锦标赛网站,我需要在其中管理如下详细信息的条件:

两个竞争对手之间会有一场比赛,我需要管理一个比赛部门和比赛时间表,这里的竞争对手和对手从竞争对手的表的外键来看是相同的,这意味着同一个用户将相互反对,而不是在这个情况下,我如何将两个相同的字段(competitor_id)保存到比赛时间表的表格中,以便管理员还可以管理竞争对手的订单,如果某些竞争对手不可用等。

4

1 回答 1

6

您的问题到最后有点令人困惑,您是否试图简单地从预定事件和用户(与竞争对手和对手的事件)中创建 2 个关系?如果是这样,这可以通过使用外键扩展计划模型中的关系来实现。

而不是说:

var $hasMany = array('Competitor');

您可以扩展和设置外键和表名:

var $hasMany = array(
 'Competitor' => array(
        'className' => 'Competitor',
        'foreignKey' => 'competitor_id'
    ),
 'Opponent' => array(
        'className' => 'Competitor',
        'foreignKey' => 'opponent_id'
    )
);

这将为同一模型设置 2 个关系,您可以分别保存它们。进一步阅读。

于 2011-03-10T09:40:26.490 回答