Для тех, кто вроде меня совершает ту же ошибку. Вот подробный ответ. Протестировано в Laravel 5.7.
A. Записи в БД
UserFile :: orderBy ('created_at', 'desc') -> получить () -> toArray ();
Array
(
[0] => Array
(
[id] => 2073
[type] => 'DL'
[url] => 'https://i.picsum.photos/12/884/200/300.jpg'
[created_at] => 2020-08-05 17:16:48
[updated_at] => 2020-08-06 18:08:38
)
[1] => Array
(
[id] => 2074
[type] => 'PROFILE'
[url] => 'https://i.picsum.photos/13/884/200/300.jpg'
[created_at] => 2020-08-05 17:20:06
[updated_at] => 2020-08-06 18:08:38
)
[2] => Array
(
[id] => 2076
[type] => 'PROFILE'
[url] => 'https://i.picsum.photos/13/884/200/300.jpg'
[created_at] => 2020-08-05 17:22:01
[updated_at] => 2020-08-06 18:08:38
)
[3] => Array
(
[id] => 2086
[type] => 'PROFILE'
[url] => 'https://i.picsum.photos/13/884/200/300.jpg'
[created_at] => 2020-08-05 19:22:41
[updated_at] => 2020-08-06 18:08:38
)
)
Б. Желаемый сгруппированный результат
UserFile :: select ('тип', 'url', 'updated_at) -> отдельный (' тип ') -> get () -> toArray ();
Array
(
[0] => Array
(
[type] => 'DL'
[url] => 'https://i.picsum.photos/12/884/200/300.jpg'
[updated_at] => 2020-08-06 18:08:38
)
[1] => Array
(
[type] => 'PROFILE'
[url] => 'https://i.picsum.photos/13/884/200/300.jpg'
[updated_at] => 2020-08-06 18:08:38
)
)
Поэтому передавайте только те столбцы "select()"
, значения которых одинаковы. Например: 'type','url'
. Вы можете добавить больше столбцов, если они имеют такое же значение, как 'updated_at'
.
Если вы пытаетесь пройти "created_at"
или "id"
в "select()"
, то вы получите записи такой же , как А. Так как они различны для каждой строки в БД.