Search code examples
mysqllaravelquery-builderlaravel-query-builder

Translate a MySql query in a Laravel query builder


SELECT apartment_id, COUNT(created_at) AS n_view,
DATE_FORMAT(created_at, '%Y-%m-%d') as day_view
FROM views
WHERE apartment_id=36 GROUP BY day_view
ORDER BY COUNT(created_at) DESC

how can I Translate this MySql query in a Laravel query builder ?


Solution

  • Check Laravel docs on query builder and see the examples, you can easily convert your SQL to query builder:

    use Illuminate\Support\Facades\DB;
    
    DB::table('views')
        ->selectRaw("apartment_id, COUNT(created_at) AS n_view, DATE_FORMAT(created_at, '%Y-%m-%d') as day_view")
        ->where('apartment_id', '=', 36)
        ->groupBy('day_view')
        ->orderByRaw('COUNT(created_at) DESC')
        ->get();