У меня есть модели Ticket и Service
class Ticket < ApplicationRecord
belongs_to :medic
has_and_belongs_to_many :services
validates_presence_of :services
end
class Service < ApplicationRecord
has_and_belongs_to_many :tickets
end
, а модель Service имеет поля code
и name
.Таким образом, в таблице services
есть записи типа
id | code | name
1 | 5.1 | value 1
2 | 5.2 | value 2
3 | 6.1 | value 3
and so on
Можно ли сделать запрос на получение Билетов, заказанных по имени , включая Услуги, заказанные по коду (например)?
Ticket.includes(:services, :medic)
.order(date: :desc, created_at: :desc)
.where(where_conditions) (works fine, but without services order)
Я что-то сделал, используя Sequelize, но не знаю, как это сделать с помощью ActiveRecord.Я пробовал
Ticket.includes(:services, :medic)
.order(date: :desc, created_at: :desc, "services.code": :desc)
.distinct
.where(where_conditions)
, но получил
ActionView::Template::Error (SQLite3::SQLException: no such column: tickets.services.code: SELECT DISTINCT "tickets".* FROM "tickets" WHERE "tickets"."date" BETWEEN ? AND ? AND "tickets"."enabled" = ? ORDER BY "tickets"."date" DESC, "tickets"."created_at" DESC, "tickets"."services.code" DESC):