CakePHP模型与多个外键的关系

前端之家收集整理的这篇文章主要介绍了CakePHP模型与多个外键的关系前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的Cake PHP应用程序中,我有匹配和团队的模型.每个Match都有一个home_team_id和一个away_team_id,两者都引用不同的Team.

在我的team.PHP文件中,我能够形成团队主场比赛的关系:

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

我的问题是,我无法在一个阵列中自动检索Team的主页和Matches.也就是说,检索到的匹配在单独的HomeMatch和AwayMatch数组中返回,这会导致排序困难.

我尝试过以下方法

  1. var $hasMany = array(
  2. 'Match' => array('foreignKey' => array('home_team_id','away_team_id'))
  3. );

……没有运气

关于如何将这两个外键组合成单一关系的任何想法?

谢谢,本

自定义finderQuery应该可以解决这个问题:
  1. public $hasMany = array(
  2. 'Match' => array(
  3. 'className' => 'Match','foreignKey' => false,'finderQuery' => 'SELECT *
  4. FROM `matches` as `Match`
  5. WHERE `Match`.`home_team_id` = {$__cakeID__$}
  6. OR `Match`.`away_team_id` = {$__cakeID__$}'
  7. )
  8. );

猜你在找的PHP相关文章