0

я модель под названием flightleg:RoR ActiveRecord: присоединение запрос с двумя ассоциациями, которые разделяют модель

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

Я пытаюсь выяснить, как получить все, чтобы работать хорошо, и иметь возможность ссылаться на поля вылета и прилета аэропортов в моем запросе.

+0

Исправьте ошибку синтаксиса в вашем запросе вокруг ': arrival_airport '', где закрывающая скобка встречается до того, как открытая скобка была закрыта. –

ответ

0

Там нет таблицы 'не departure_airports', но в сущности, мы видим

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

так что вы можете попробовать ('airports.icao_code = YBBN')?

+0

Hi DeeY! Я также пытался использовать 'airport.icao_code', но в нем говорится, что для аэропортов нет предложения FROM. –

 Смежные вопросы

  • Нет связанных вопросов^_^