LARAVEL, ELOQUENT, SQL – groupBy 1

Solution:

$query = $query
        ->select("daily_menu.id", DB::raw("SUM(IF(fruits.id IS NULL, 0, 1)) AS fruit_count"))
        ->join("meals", "daily_menu.id", "=", "meals.daily_menu_id")
        ->leftJoin("fruits", "fruits.meal_id", "=", "meals.id")
        ->groupBy(DB::raw("daily_menu.id"));

I shouldn’t have used 1 I should have used the proper column alias. Related: Can’t fix this: “Cannot group by an aggregate”