gpt4 book ai didi

CakePHP 模型与多个外键的关系

转载 作者:行者123 更新时间:2023-12-02 07:22:09 24 4
gpt4 key购买 nike

在我的 CakePHP 应用程序中,我有比赛和团队的模型。每场比赛都有一个 home_team_id 和away_team_id,两者都引用不同的团队。

在我的 team.php 文件中,我能够建立团队主场比赛的关系:

var $hasMany = array(
'HomeMatch' => array('className' => 'Match', 'foreignKey' => 'home_team_id'),
'AwayMatch' => array('className' => 'Match', 'foreignKey' => 'away_team_id')
);

我的问题是我无法在单个数组中自动检索球队的主客场比赛。也就是说,检索到的 Matches 会在单独的 HomeMatch 和 AwayMatch 数组中返回,这会导致排序困难。

我尝试过以下方法:

var $hasMany = array(
'Match' => array('foreignKey' => array('home_team_id', 'away_team_id'))
);

...没有运气。

关于如何将这两个外键组合成单个关系有什么想法吗?

谢谢,本

最佳答案

自定义 finderQuery 应该可以解决问题:

public $hasMany = array(
'Match' => array(
'className' => 'Match',
'foreignKey' => false,
'finderQuery' => 'SELECT *
FROM `matches` as `Match`
WHERE `Match`.`home_team_id` = {$__cakeID__$}
OR `Match`.`away_team_id` = {$__cakeID__$}'
)
);

关于CakePHP 模型与多个外键的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com