Коллекция Laravel, содержащая модель в массив
У меня есть коллекция Laravel, содержащая несколько пользовательских моделей.
Collection([
User,
User,
])
Модель содержит, например, имя пользователя, имя, фамилию, адрес электронной почты, дату рождения. Мне нужно только имя пользователя, адрес электронной почты, дата и иметь его в таком массиве.
array(
array('jonhdoe', '[email protected]', '1-1-1970')
)
Чтобы я мог получить к нему доступ с помощью
$username = $array[0][0]
$email = $array[0][1]
И не
$username = $array[0]['username']
$email = $array[0]['email']
Я смотрел на помощников Laravel каждый или карту, но почему-то не могу заставить ее работать.
2
2 answers
only()
вернет массив только указанных столбцов. И toArray()
преобразует коллекцию в массив:
$collection->map(function($i) {
return array_values($i->only('username', 'email', 'date'));
})->toArray();
4
Author: Alexey Mezenin, 2018-01-24 12:49:11
Используйте для отображения()-
$collection_in_arrays = $collection->toArray();
Метод
toArray
преобразует коллекцию в обычнуюPHP array
. Если значенияcollection's
являются Красноречивыми моделями , модели также будут преобразованы вarrays
.
0
Author: Sohel0415, 2018-01-24 12:34:50