【问题标题】:RoR Activerecord: joining query with two associations that share a modelRoR Activerecord:使用共享模型的两个关联加入查询
【发布时间】:2013-12-14 04:33:28
【问题描述】:

我有一个模型叫飞行腿:

class FlightLeg < ActiveRecord::Base
      ....
      belongs_to :departure_airport, :class_name => "Airport"
      belongs_to :arrival_airport, :class_name => "Airport"
end

我想像这样查询它:

Flight.joins(:airline, flight_legs: [:departure_airport, :arrival_airport]).where('departure_airport.icao_code = YBBN')

当然,这是行不通的。以下是错误消息的要点:

https://gist.github.com/emilevictor/b1b7d18d5cede597c6be

我正试图弄清楚如何让这一切正常工作,并能够在我的查询中引用出发和到达机场的字段。

【问题讨论】:

  • 请修正您的查询中围绕:arrival_airport) 的语法错误,即在左括号关闭之前遇到右括号。

标签: ruby-on-rails ruby activerecord rails-activerecord rails-postgresql


【解决方案1】:

没有“departure_airports”表,但我们看到了要点

 INNER JOIN "airports" ON "airports"."id" = "flight_legs"."departure_airport_id"

那么你可以试试 ('airports.icao_code = YBBN') 吗?

【讨论】:

  • 嗨,DeeY!我也尝试过使用“airports.icao_code”,但它说机场没有 FROM 子句。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多