CakePHP模型与多个外键的关系
发布时间:2020-12-13 13:47:32 所属栏目:PHP教程 来源:网络整理
导读:在我的Cake PHP应用程序中,我有匹配和团队的模型.每个Match都有一个home_team_id和一个away_team_id,两者都引用不同的Team. 在我的team.php文件中,我能够形成团队主场比赛的关系: var $hasMany = array( 'HomeMatch' = array('className' = 'Match','foreig
在我的Cake
PHP应用程序中,我有匹配和团队的模型.每个Match都有一个home_team_id和一个away_team_id,两者都引用不同的Team.
在我的team.php文件中,我能够形成团队主场比赛的关系: var $hasMany = array( 'HomeMatch' => array('className' => 'Match','foreignKey' => 'home_team_id'),'AwayMatch' => array('className' => 'Match','foreignKey' => 'away_team_id') ); 我的问题是,我无法在一个阵列中自动检索Team的主页和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__$}' ) ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |