Как вы запрашиваете на Ruby on Rails или переводите этот запрос на Ruby on Rails?
SELECT
orders.item_total,
orders.total,
payments.created_at,
payments.updated_at
FROM
public.payments,
public.orders,
public.line_items,
public.variants
WHERE
payments.order_id = orders.id AND
orders.id = line_items.order_id AND
это работает на моем Postgres, но я новичок в RoR, и это затрудняет мне запрос этого образца.
Пока это то, что у меня есть.
Order.joins(:payments,:line_items,:variants).where(payments:{order_id: [Order.ids]}, orders:{id:LineItem.orders_id}).distinct.pluck(:email, :id, "payments.created_at", "payments.updated_at")
У меня много ссылок, прежде чем задать вопрос, вот ссылки.
Как объединить два условия в предложении where?
Rails PG :: UndefinedTable: ОШИБКА: отсутствует запись предложения FROM для таблицы
Rails ActiveRecord: извлечение из нескольких таблиц с одинаковым именем столбца
ActiveRecord находит и возвращает только выбранные столбцы
https://guides.rubyonrails.org/v5.2/active_record_querying.html
по всей этой ссылке я создал этот код, который работает для тестирования.
Spree::Order.joins(:payments,:line_items,:variants).where(id: [Spree::Payment.ids]).distinct.pluck(:email, :id)
но когда я пытаюсь получить несколько запросов и выбрать конкретное имя столбца из другой таблицы, это выдает мне ошибку.
UPDATE
, поэтому я использую Ransack для запроса, я создал этот код.
@search = Spree::Order.ransack(
orders_gt: params[:q][:created_at_gt],
orders_lt: params[:q][:created_at_lt],
payments_order_id_in: [Spree::Order.ids],
payments_state_eq: 'completed',
orders_id_in: [Spree::LineItem.all.pluck(:order_id)],
variants_id_in: [Spree::LineItem.ids]
)
@payment_report = @search.result
.includes(:payments, :line_items, :variants)
.joins(:line_items, :payments, :variants).select('payments.response_code, orders.number, payments.number')
У меня нет ошибки при удалении выбранной части, и мне нужно получить этот конкретный столбец. их нет?