0

チームとゲームの 2 つのオブジェクトを持つかなり単純なモデルがあります。Team オブジェクトにはチームの名前があり、Game オブジェクトは Team オブジェクトを 2 回参照します。1 つは「away_team_id」フィールドを介して、もう 1 つは「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 つにすぎません。どんな助けでも大歓迎です。

前もって感謝します!

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 をラップすることをお勧めします。

TX

于 2013-10-02T19:21:38.363 に答える