У мене досить проста модель з двома об'єктами: Команда та гра. Об'єкт Team має ім'я команди, а Ігровий об’єкт шукає об'єкт Team двічі. Один через "away_team_id" і один через поле "home_team_id".
Game ----home_team_id----> Team
|
+------away_team_id----> Team
Я досить новачок у ActiveJDBC, але використовував PHPActiveRecord досить тривалий час. Я не можу за все життя зрозуміти, як посилатися на кожну команду через об’єкт Ігри. У мене в об’єкті гри є такі примітки:
@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 для відповіді № 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