Как использовать Grouby и считать с помощью Laravel ORM? - PullRequest
0 голосов
/ 16 мая 2018

У меня есть адресная таблица, в которой есть много полей, таких как город, район, толерантность, район, широта, долгота.Мне нужно посчитать количество рядов для отдельного района.Например, у меня есть следующая таблица базы данных, как показано на скриншоте: enter image description here У меня есть строки, содержащие Катманду, Бхактапур и Джхапа в качестве районов.Теперь мне нужно получить количество строк, содержащих Катманду в качестве района и аналогично.Вывод должен быть таким:

array( "Kathmandu"=> 4 , "Bhaktapur" => 1 , "Jhapa"=>1 );

Я нашел многократное решение проблемы, в которой используется запрос к БД.Но мне нужен ORM способ.

1 Ответ

0 голосов
/ 16 мая 2018

Вы можете использовать агрегированный запрос

$districts = DB::table('address')
             ->select('district', DB::raw('count(*) as total'))
             ->groupBy('district')
             ->pluck('total','district')
             ->all();
...