Парни не судят мой код, мы постоянно развиваемся, поэтому моя БД - беспорядок. Не могу бросить и воссоздать БД (я бы хотел, лол), поэтому нужно найти решение.
Модель пользователя : (она была создана давно, у нее не было родителя)
class User < ApplicationRecord
...
belongs_to :deals, optional: true
...
end
Мне пришлось включить Модель сделки для реальных сделок
class Deal < ApplicationRecord
...
has_one :user
accepts_nested_attributes_for :user
...
Поскольку Deal был реализован значительно позже, мой SQL выглядит примерно так:
Рисунок графика SQL
Теперь, как я могу получить объем сделок без пользователя (я не создал столбец user_id в сделке, я оставил его как последний вариант).
В основном мне нужен Deal.where.not (: user). Я попробовал приведенный ниже код, но он не работает, потому что некоторые пользователи не принадлежат к сделкам.
scope :no_user, -> {left_outer_joins(:user).where(user: { id: nil })}
Как я могу это сделать? Спасибо