Как мне построить левое внешнее соединение для объединения соединения в моем методе поиска? - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть проект Rails 5. У меня есть эти зависимые модели ...

class Order < ApplicationRecord
    ...

  belongs_to :customer, :touch => true

...

class Customer < ApplicationRecord
    ...
  belongs_to :program, :optional => true

Я хотел бы построить запрос заказов для клиентов, которые не принадлежат к программам с определенными номерами. Я также хотел бы включить Заказы для клиентов, не связанных с какой-либо программой. Однако этот запрос

items = Order
      .joins(:customer => :program)
      .where.not(
        :programs => { :number => do_not_include_numbers }
      )

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

.joins(:customer => :program)

, но я не уверен в синтаксисе объединения.

...