У меня есть таблица данных вызова, и я хочу запросить все безответные вызовы, а это значит, что время начала вызова равно времени окончания вызова. Я в настоящее время использую следующий простой SQL, который работает, как ожидалось:ActiveRecord - Сравнение двух значений в одной строке
select * from calls where calls.start = calls.end
мне было интересно, если есть более «рельсы» способ сделать это с помощью ActiveRecord запроса интерфейса. В идеале я хотел бы настроить область в моей модели Call
, которая возвращает мне все неотвеченные вызовы. Что-то вроде:
scope :unanswered, -> { where(start: :end) }
выше не работает, так как Rails обрабатывает :end
как строку вместо end
столбца в БД.
Я использую PostgreSQL в качестве моего механизма БД.
Это означает, что вы можете указать значение вместо 'end', которое будет использоваться в области. Не совсем решает мою проблему. –