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 ?
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();