Используйте sql запросы в Laravel 6 для подсчета количества работников в каждом отделе

Используйте sql запросы в Laravel 6 для подсчета количества работников в каждом отделе

16.10.2019 02:06:16 Просмотров 37 Источник

Я новичок в laravel и sql. У меня есть две модели (работник и отдел), и каждая модель имеет один ко многим отношениям. Каждая модель имеет таблицы БД работники и отделы. Мои вопросы таковы:

  1. Можем ли мы использовать sql-запрос в laravel 6 для подсчета количества работников в каждом отделе?
  2. где мы можем использовать этот sql-запрос внутри контроллера или модели?

Я использовал этот запрос внутри контроллера, но дает мне ошибку, что с ним не так?

public function count()
{
   SELECT COUNT(id), department FROM Worker GROUP BY department; 
}
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/58411859/use-sql-queries-in-laravel-6-to-count-the-number-of-workers-in-each-department#comment103166844_58411859
поделитесь своими моделями отношений, а также поделитесь, какую ошибку вы получаете.

Ответы - Используйте sql запросы в Laravel 6 для подсчета количества работников в каждом отделе / Use sql queries in Laravel 6 to count the number of workers in each department

nvs

16.10.2019 02:12:21

Чтобы использовать необработанный запрос в контроллере Laravel, его необходимо объединить в построителе запросов. Это сработает:

DB::raw("SELECT COUNT(id), department FROM Worker GROUP BY department");
Rayann Nayran

16.10.2019 02:17:25

Department

Итак, вы подсчитываете, сколько работников в каждом отделе, как это:

class Department extends Model
{

    public function workers()
    {
        return $this->hasMany('App\Worker');
    }

}

Смотреть также:

Подсчет Связанных Моделей

Лучшие практики Laravel

https://stackoverflow.com/questions/58411859/use-sql-queries-in-laravel-6-to-count-the-number-of-workers-in-each-department/58412046#comment103167180_58412046
@RayannNarayan мы можем использовать count() вместо withCount ().
Закрыть X