我是web開發和rails的新手,我試圖爲我第一次構建一個查詢對象。我有一個表玩家,和一個表DefensiveStats,它有一個foriegn-key player_id,所以這個表中的每一行都屬於一個玩家。玩家有一個字段api_player_number,這是我參考的第三方使用的ID。 DefensiveStats對象有兩個與此查詢相關的字段 - 一個season_number整數和一個week_number整數。我想要做的是構建一個帶有3個參數的單個查詢:api_player_number,season_number和week_number,並且它應該返回帶有相應季節和星期編號的DefensiveStats對象,屬於具有api_player_number =的玩家傳入api_player_number。Rails,將兩個表與每個tabe的where子句連接起來
以下是我已經嘗試:
class DefensiveStatsWeekInSeasonQuery
def initialize(season_number, week_number, api_player_number)
@season_number = season_number
@week_number = week_number
@api_player_number = api_player_number
end
# data method always returns an object or list of object, not a relation
def data
defensive_stats = Player.where(api_player_number: @api_player_number)
.joins(:defensive_stats)
.where(season_number:@season_number, week_number: @week_number)
if defensive_stats.nil?
defensive_stats = DefensiveStats.new
end
defensive_stats
end
末
然而,這是不行的,因爲它進行第二次的where子句播放器上的類,而不是DefensiveStats類 - >專,「SQLite3 :: SQLException:no such column:players.season_number」
我該如何構造這個查詢?謝謝!!!
謝謝!太棒了 –