Сравнение полей даты двух таблиц в рейке - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь определить грабли, где я хочу сравнить поля данных двух таблиц. Таблица проблем отношение has_many с таблицей сообщений (таблица сообщений имеет Issue_id ). Таблица имеет поле даты в виде типа данных DateTime

. В таблице проблем также есть отношение has_many к таблице биллинга (таблица биллинга имеет Issue_id ). Эта таблица также имеет поле даты в качестве типа данных DateTime.

Итак, что я пытаюсь достичь в логи c, так это то, что я хочу сравнить это issue.billings.last.date < issue.messages.last.date . Но я не уверен, как этого добиться.

Business.all.each do |business|
  business.issues.where("issues.amount > 0"). each do |issue|
    {logic}
  end 
end

Пожалуйста, помогите мне достичь этого.

1 Ответ

1 голос
/ 15 января 2020

Попробуйте это .....

Business.all.each do |business|
  business_issues = business.issues.includes(:billings, :messages).where("issues.amount > 0").select { |issue| (issue.billings.last.date < issue.messages.last.date) if issue.billings.present? && issue.messages.present? }     
end

Надеюсь, это сработает для вас.

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