Область действия родителя без рельсов детей (у некоторых детей нет родителя) - PullRequest
0 голосов
/ 20 января 2019

Парни не судят мой код, мы постоянно развиваемся, поэтому моя БД - беспорядок. Не могу бросить и воссоздать БД (я бы хотел, лол), поэтому нужно найти решение.

Модель пользователя : (она была создана давно, у нее не было родителя)

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 })}

Как я могу это сделать? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...