Как вы запрашиваете модель по родительскому идентификатору и создан на дату - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь найти все записи, которые имеют конкретную channel_id и были сделаны менее чем 1 day ago. Запрос находит записи с указанным channel_id, но не учитывает ограничение даты. Вместо этого он возвращает записи, созданные на любую дату.

@discussions = Discussion.where('channel_id = ? and created_at > ?', current_user.subscription.pluck(:channel_id), 1.days.ago )

Я ожидал получить обсуждения, которые имели соответствующие подписки channel_id и были сделаны менее чем 1 day ago. Но вместо этого этот запрос игнорирует созданное при ограничении, но возвращает обсуждения, которые имели соответствующий идентификатор канала подписок.

Ответы [ 2 ]

0 голосов
/ 05 июня 2019
@discussions = Discussion.where("channel_id = :channel AND created_at > :date", channel: current_user.subscription.pluck(:channel_id), date: Date.yesterday )
0 голосов
/ 05 июня 2019
@discussions = Discussion.where("channel_id IN (?) AND DATE(created_at) >= ?", current_user.subscription.pluck(:channel_id), (Date.today - 1.day))

ИЛИ

@discussions = Discussion.where("channel_id IN (?) AND created_at >= ?", current_user.subscription.pluck(:channel_id), (Date.today - 1.day).end_of_day)

Или

Discussion.where("DATE(created_at) >= ?", (Date.today - 1.day))
            .where("channel_id IN (?)", current_user.subscription.pluck(:channel_id))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...