Вы можете использовать метод select()
, чтобы указать, какие поля вы хотите выбрать, а затем объедините его с DB::raw()
, чтобы выбрать COUNT()
.
Empatten::select('empname', \DB::raw("COUNT(*) AS count"))
->where('id', $id)
->where('empstatus', '=', 'Present')
->get();
Но это не обязательно действительный SQL, поскольку вы используете агрегатные функции (в данном случае COUNT()
, но другие примеры: MIN()
, MAX()
, AVG()
) при выборе столбцов. Вы должны указать GROUP BY
для столбцов в списке выбора, которые не являются частью агрегированного оператора. Мы можем сделать это, используя метод groupBy()
- результат не должен измениться, так как вы ищете определенный c ID.
Empatten::select('empname', \DB::raw("COUNT(*) AS count"))
->where('id', $id)
->where('empstatus', '=', 'Present')
->groupBy('empname')
->get();