INNER JOIN table1.id = table2.id и col1 = null и col2 = not null

0

У меня есть запрос как это:

answer_histories = History.where(slide_id: self.slide_id)
 .joins(:material_progress).where(material_progresses: {site_id: site.id})
  • 0
    это не читается
Теги:

1 ответ

0
Лучший ответ

Я бы сделал что-то вроде:

class LearningHistory < ApplicationRecord
  ...
  scope :completed, ->{ where.not(completed_at: nil) }

Затем:

answer_histories = AnswerHistory.where(slide_id: self.slide_id)
 .joins(:material_progress).where(material_progresses: {site_id: site.id})
 .joins(:learning_history)
 .merge(LearningHistory.completed)    
 .where(MaterialProgress.arel_table[:learning_history_id]
 .eq(AnswerHistory.arel_table[:learning_history_id]))
  • 1
    и вообще я рекомендую переместить все в области видимости и использовать слияние
  • 0
    спасибо за ваш ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню