[英]Rails: search through a very nested associations
我正在嘗試尋找一個到達機場IATA代碼等於指定航班的航班,如下所示:
create_table "flights", force: :cascade do |t|
t.integer "route_id"
t.datetime "departure"
t.datetime "arrival"
t.decimal "price"
t.integer "airplane_id"
end
create_table "routes", force: :cascade do |t|
t.integer "departure_airport_id"
t.integer "arrival_airport_id"
end
create_table "airports", force: :cascade do |t|
t.string "iata_code"
t.string "icao_code"
t.string "international_name"
t.string "localized_name"
end
從路線到機場的聯系看起來像這樣
class Route < ApplicationRecord
belongs_to :arrival_airport, :class_name => "Airport"
belongs_to :departure_airport, :class_name => "Airport"
而且在機場艙位上沒有倒數。 我嘗試了這個
@search_results = Flight
.joins(:route)
.joins(:arrival_airport)
你近了
@search_results = Flight
.joins(route: :arrival_airport)
.where(airports: {iata_code: my_iata_code})
請查閱《 Rails查詢指南》以獲取更多詳細信息。 特別是在12.1.3.1加入嵌套協會(單級)前后。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.