меня ниже в моей таблицеLaravel Mysql - Group By
id zip_code city region municipality created_at updated_at
------ -------- ---------------- ------------------ --------------------- ------------------- ---------------------
1 2100 København Ø Region Hovedstaden Københavns Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
2 2150 Nordhavn Region Hovedstaden Københavns Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
3 2200 København N Region Hovedstaden Københavns Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
4 2300 København S Region Hovedstaden Københavns Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
5 2400 København NV Region Hovedstaden Københavns Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
6 2700 København B Region Nordstran Hårlev Komune 2016-08-26 13:13:56 2016-08-26 13:13:59
7 3540 Lynge Region Hovedstaden Egedal Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
8 3550 Slangerup Region Hovedstaden Hillerød Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
9 3670 Veksø Sjælland Region Hovedstaden Egedal Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
10 4050 Skibby Region Hovedstaden Frederikssund Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
11 2610 Rødovre Region Hovedstaden Københavns Kommune 2016-08-24 19:32:05 2016-08-24 19:32:05
Я использую ниже код, чтобы получить мой результат таблицы.
\App\Models\Backend\AreaCodes::orderBy('region', 'desc')->get()->groupBy('region')->toArray();
Так я получаю результат, где моя таблица группируется по «регион» это работает отлично, но в некоторых регионах у меня есть около 500 строк в том же регионе.
Как можно разделить группы на несколько меньших групп с тем же именем, что и область, содержащая следующие 100 строк.
Итак, я получаю группы, которые выглядят ниже.
Group (область Hovedstaden) = 100 строк
Group (область Hovedstaden) = 100 строк
Group (область Hovedstaden) = 100 строк
В общей сложности я получил 1400 строк в моей таблице.
Я пробовал под кодом.
\App\Models\Backend\AreaCodes::orderBy('region', 'desc')->paginate(2)->get()->groupBy('region')->toArray();
Но это дает ошибку
Отсутствует аргумент 1 для Осветите \ Support \ Collection :: получить () постраничной работу доцент Laravel, если я использую group_by, что я могу сделать?
Я также проверил эту ссылку Get top n records for each group of grouped results здесь не помогло.
Я надеюсь, что ваши парни меня поймут :)
С уважением.
Возможный дубликат [Получить Top N записей для каждой группы сгруппированных результатов] (Http: // StackOverflow. com/questions/12113699/get-top-n-records-for-each-group-of-grouped-results) – Shadow
Вы можете использовать метод '-> paginate (100)' для построителя запросов. [Проверить документы] (https://www.laravel.com/docs/5.3/pagination#paginating-query-builder-results) –
Привет @JhonnyWalker, где я должен разместить -> paginate (100) в моем запросе. Я попробовал это \ App \ Models \ Backend \ AreaCodes :: orderBy ('region', 'desc') -> paginate (2) -> get() -> groupBy ('region') -> toArray(); но затем я получаю Missing аргумент 1 для Illuminate \ Support \ Collection :: get() – user3502250