2017-05-15 4 views
0

私は、MySQLDATE_ADD Queryが予期しない結果が

SELECT updated_at 
FROM products 
WHERE updated_at >= DATE_ADD(NOW(), INTERVAL -7 DAY) 
GROUP BY day(updated_at) 
ORDER BY updated_at desc 

にこのクエリを持って示し、私はこの

$date = Products::select('updated_at') 
      ->where('updated_at', '>=', 'DATE_ADD(NOW(), INTERVAL -7 DAY)') 
      ->groupBy('updated_at') 
      ->orderBy('updated_at', 'desc') 
      ->get() 

ようLaravelにそれを適用しようとLaravelの結果は、内のすべてのデータを示していますupdated_at列は、今までの6日だけではありません。 Laravelの私のクエリに何か問題があなたの代わりにwhereRawを使用する必要があなたに

答えて

1

に感謝し、そこにある:

$date = Products::select('updated_at') 
       ->whereRaw('updated_at >= DATE_ADD(NOW(), INTERVAL -7 DAY)') 
       ->groupBy('updated_at') 
       ->orderBy('updated_at', 'desc') 
       ->get() 
+0

はそれを行う方法を、私はupdated_atの日を選択するので、多くの – madiluzi

+0

をいただき、ありがとうございますか! – madiluzi

+0

私は 'Products :: select( 'updated_at'、DB :: raw( 'DAY(updated_at)as day'))' ' –