具有多个父级的ActiveJDBC对象引用相同的类

时间:2013-10-02 13:59:55

标签: activejdbc

我有一个相当简单的模型,有两个对象:团队和游戏。 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);

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

提前致谢!

1 个答案:

答案 0 :(得分: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,以帮助将来进行潜在的重构。

TX

相关问题