В настоящее время имеющих запрос для фильтра с параметрами premium_amount_lower_range, premium_amount_upper_range, application_date_lower_range, application_date_upper_range, insurance_type_id
Сложные Postgres запрос в рельсах
@filtered_quotes = current_user.insurance_subscribers.includes(:insurance_types).includes(:insurance_subscribers_types, :insurance_subscribers_types_carriers).
premium_amount(params[:dashboard][:premium_amount_lower_range], params[:dashboard][:premium_amount_upper_range]).
duration(params[:dashboard][:application_date_lower_range], params[:dashboard][:application_date_upper_range]).
insurance_type(params[:dashboard][:insurance_type_id])
Но теперь нужно фильтровать по статусу также. Возникла проблема с этим. У меня есть столбец статуса в таблицах insurance_subscribers
и insurance_subscribers_types_carriers
, оба столбца перечислены.
Я пытался добавить, где положение как
@filtered_quotes = current_user.insurance_subscribers.includes(:insurance_types).includes(:insurance_subscribers_types, :insurance_subscribers_types_carriers).
where("insurance_subscribers_types_carriers.status = 1")
# ...
Это дает мне ошибку PG::UndefinedTable: ERROR: missing FROM-clause entry for table "insurance_subscribers_types_carriers"
, но когда я пытаюсь сделать как
@filtered_quotes = current_user.insurance_subscribers.includes(:insurance_types).includes(:insurance_subscribers_types, :insurance_subscribers_types_carriers).
where(status: 1)
# ....
Это поставит где пункт о insurance_subscribers ,
Попытка добавить простой раздел where WHERE insurance_subscribers_types_carriers.status = 1
в вышеуказанный запрос, но имеющий столько проблем с этим запросом.
Ассоциации
insurance_subscriber.rb
has_many :insurance_subscribers_types, dependent: :destroy
has_many :insurance_types, through: :insurance_subscribers_types
has_many :insurance_subscribers_types_carriers, through: :insurance_subscribers_types
insurance_types.rb
has_many :insurance_subscribers, through: :insurance_subscribers_types
has_many :insurance_subscribers_types
has_many :insurance_subscribers_types_carriers
insurance_subscriber_type.rb
belongs_to :insurance_subscriber
belongs_to :insurance_type
has_many :carriers, through: :insurance_subscribers_types_carriers
has_many :insurance_subscribers_types_carriers, dependent: :destroy
insurance_subscr ibers_types_carrier.rb
belongs_to :carrier
belongs_to :insurance_subscribers_type
Какова связь между 'страховой _types'' insurance_subscribe rs' и 'insurance_subscribers_type_carriers'? Пожалуйста, добавьте все ассоциации – RSB
Добавленные ассоциации – SpunkyLive
Пробовали ли вы внешние внешние соединения вручную, а не включены? – Thorin