0

我有一个相当简单的模型,其中包含两个对象:团队和游戏。Team 对象具有团队的名称,Game 对象查找 Team 对象两次。一个通过“away_team_id”,一个通过“home_team_id”字段。

  Game ----home_team_id----> Team
    |
    +------away_team_id----> Team

我对 ActiveJDBC 还很陌生,但使用 PHP ActiveRecord 已经有一段时间了。我一生都无法弄清楚如何通过 Game 对象引用每个团队。我的 Game 对象中确实有这些注释:

@BelongsToParents({ 
@BelongsTo(foreignKeyName="home_team_id",parent=Team.class), 
@BelongsTo(foreignKeyName="away_team_id",parent=Team.class)
}) 

public class Game extends Model {
}

在我的测试代码中,我有:

Team homeTeam = game.parent (Team.class);

但显然这只是其中之一,我什至不确定它是如何确定它是哪一个!任何帮助将不胜感激。

提前致谢!

4

1 回答 1

1

这是一个不寻常的案例。我会建议这样的事情:

public class Game extends Model{
  public Team getHomeTeam(){
    return Team.findFirst("id = ?", get("home_team_id"));
  }
    public Team getAwayTeam(){
    return Team.findFirst("id = ?", get("home_away_id"));
  }
}

我建议将 ActiveJDBC 包装在这样的语义方法中,以帮助将来进行潜在的重构。

发送

于 2013-10-02T19:21:38.363 回答