投稿を1日から選択したい正しい方法は何ですか?このエラー:1日から投稿を選択
date = '3/11/2016'.to_date
User.joins(:posts).where(posts: {'created_at >= ? AND created_at <= ?', date.beginning_of_day, date.end_of_day})
投稿を1日から選択したい正しい方法は何ですか?このエラー:1日から投稿を選択
date = '3/11/2016'.to_date
User.joins(:posts).where(posts: {'created_at >= ? AND created_at <= ?', date.beginning_of_day, date.end_of_day})
あなたがこの日のように試してみるとよいでしょう。
User.joins(:posts).where(posts: { 'extract(day from created_at) = ?', desired_day_of_month })
いいえ、私は1日から必要ですが、完全な日付を使用してください – user7067399
多分これらの行に沿って何か "2016-11-03" .to_date.day' – Dan
効率で役立つ
User.joins(:posts).all.where('posts.created_at >= ? and posts.created_at <= ?', Date.today.at_beginning_of_month, Date.today).preload(:posts)
この構文の問題:
posts: {'created_at >= ? AND created_at <= ?', date.beginning_of_day, date.end_of_day}
ハッシュ構文は以下のような、照会する列を送信するために使用する必要があります:あなたのケースでは
posts: { title: 'some title' }, etc
、あなたが実行する必要があります。これは
User.joins(:posts).where('posts.created_at >= ? AND posts.created_at <= ?', date.beginning_of_day, date.end_of_day)
どのようなエラーを与えるのでしょうか? –
予期しない '}'、一般的な構文 – user7067399
'User.joins(:posts).where( 'posts.created_at> =?AND posts.created_at <=?'、date.beginning_of_day、date.end_of_day)' – gabrielhilal