РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1017 of 1392 menu

Метод toArray

Метод toArray применяется к коллекциям и Eloquent моделям и возвращает их представление в виде обычного PHP-массива. Для Eloquent моделей метод также рекурсивно преобразует связанные отношения и скрывает атрибуты, защищённые свойством $hidden, а также включает только атрибуты из $visible. Метод не принимает параметров и всегда возвращает массив.

Синтаксис

<?php $res = $collection->toArray(); ?>

Пример

Давайте преобразуем коллекцию чисел в массив:

<?php use IlluminateSupportCollection; $collection = collect([1, 2, 3, 4, 5]); $res = $collection->toArray(); print_r($res); ?>

Результат выполнения кода:

[ 0 => 1, 1 => 2, 2 => 3, 3 => 4, 4 => 5, ]

Пример

Давайте преобразуем коллекцию ассоциативных массивов:

<?php use IlluminateSupportCollection; $collection = collect([ ['id' => 1, 'name' => 'Article 1'], ['id' => 2, 'name' => 'Article 2'], ['id' => 3, 'name' => 'Article 3'], ]); $res = $collection->toArray(); print_r($res); ?>

Результат выполнения кода:

[ 0 => [ 'id' => 1, 'name' => 'Article 1', ], 1 => [ 'id' => 2, 'name' => 'Article 2', ], 2 => [ 'id' => 3, 'name' => 'Article 3', ], ]

Пример

Давайте преобразуем коллекцию Eloquent моделей в массив. Предположим, у нас есть модель Article:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Article extends Model { protected $fillable = [ 'title', 'body', 'status', ]; protected $hidden = [ 'created_at', 'updated_at', ]; } ?>

Теперь получим статьи и преобразуем их в массив:

<?php use AppModelsArticle; $articles = Article::where('status', 'published')->get(); $res = $articles->toArray(); print_r($res); ?>

Результат выполнения кода:

[ 0 => [ 'id' => 1, 'title' => 'Article 1', 'body' => 'Text 1', 'status' => 'published', ], 1 => [ 'id' => 2, 'title' => 'Article 2', 'body' => 'Text 2', 'status' => 'published', ], 2 => [ 'id' => 3, 'title' => 'Article 3', 'body' => 'Text 3', 'status' => 'published', ], ]

Обратите внимание, что поля created_at и updated_at отсутствуют в результате, так как они скрыты через свойство $hidden.

Пример

Давайте преобразуем в массив одиночную Eloquent модель:

<?php use AppModelsArticle; $article = Article::where('id', 1)->first(); $res = $article->toArray(); print_r($res); ?>

Результат выполнения кода:

[ 'id' => 1, 'title' => 'Article 1', 'body' => 'Text 1', 'status' => 'published', ]

Пример

Давайте преобразуем коллекцию после применения методов фильтрации и сортировки:

<?php use IlluminateSupportCollection; $collection = collect([ ['name' => 'Article 1', 'views' => 100], ['name' => 'Article 2', 'views' => 50], ['name' => 'Article 3', 'views' => 200], ]); $res = $collection ->where('views', '>', 50) ->sortBy('views') ->toArray(); print_r($res); ?>

Результат выполнения кода:

[ 0 => [ 'name' => 'Article 1', 'views' => 100, ], 1 => [ 'name' => 'Article 3', 'views' => 200, ], ]

Смотрите также

  • метод toJson,
    который преобразует коллекцию в JSON-строку
  • метод all,
    который возвращает все элементы коллекции
  • метод map,
    который преобразует каждый элемент коллекции
  • метод filter,
    который фильтрует коллекцию по заданному условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить