我有一个带有 CakePHP 的锦标赛网站,我需要在其中管理如下详细信息的条件:
两个竞争对手之间会有一场比赛,我需要管理一个比赛部门和比赛时间表,这里的竞争对手和对手从竞争对手的表的外键来看是相同的,这意味着同一个用户将相互反对,而不是在这个情况下,我如何将两个相同的字段(competitor_id)保存到比赛时间表的表格中,以便管理员还可以管理竞争对手的订单,如果某些竞争对手不可用等。
我有一个带有 CakePHP 的锦标赛网站,我需要在其中管理如下详细信息的条件:
两个竞争对手之间会有一场比赛,我需要管理一个比赛部门和比赛时间表,这里的竞争对手和对手从竞争对手的表的外键来看是相同的,这意味着同一个用户将相互反对,而不是在这个情况下,我如何将两个相同的字段(competitor_id)保存到比赛时间表的表格中,以便管理员还可以管理竞争对手的订单,如果某些竞争对手不可用等。
您的问题到最后有点令人困惑,您是否试图简单地从预定事件和用户(与竞争对手和对手的事件)中创建 2 个关系?如果是这样,这可以通过使用外键扩展计划模型中的关系来实现。
而不是说:
var $hasMany = array('Competitor');
您可以扩展和设置外键和表名:
var $hasMany = array(
'Competitor' => array(
'className' => 'Competitor',
'foreignKey' => 'competitor_id'
),
'Opponent' => array(
'className' => 'Competitor',
'foreignKey' => 'opponent_id'
)
);
这将为同一模型设置 2 个关系,您可以分别保存它们。进一步阅读。