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

Метод toJson

Метод toJson применяется к экземпляру модели Eloquent или к коллекции моделей и возвращает строку в формате JSON. Первым параметром передаются опции форматирования JSON (по умолчанию используется значение 0), вторым - глубина рекурсии (по умолчанию 512). Метод использует внутреннее преобразование модели в массив с помощью toArray, а затем применяет функцию json_encode.

Синтаксис

<?php $model->toJson($options, $depth); ?>

Пример

Давайте преобразуем модель статьи в JSON:

<?php use AppModelsArticle; $article = Article::find(1); $res = $article->toJson(); echo $res; ?>

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

"{"id":1,"title":"article","content":"text","created_at":"2026-01-15T10:00:00.000000Z","updated_at":"2026-01-15T10:00:00.000000Z"}"

Пример

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

<?php use AppModelsArticle; $articles = Article::where('id', '>', 1)->get(); $res = $articles->toJson(JSON_PRETTY_PRINT); echo $res; ?>

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

"[ { "id": 2, "title": "article 2", "content": "text", "created_at": "2026-01-15T10:00:00.000000Z", "updated_at": "2026-01-15T10:00:00.000000Z" }, { "id": 3, "title": "article 3", "content": "text", "created_at": "2026-01-15T10:00:00.000000Z", "updated_at": "2026-01-15T10:00:00.000000Z" } ]"

Пример

Метод toJson автоматически применяет скрытие атрибутов, указанных в свойстве $hidden модели:

<?php namespace AppModels; class Article extends Model { protected $hidden = [ 'created_at', 'updated_at' ]; } ?>
<?php use AppModelsArticle; $article = Article::find(1); $res = $article->toJson(); echo $res; ?>

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

"{"id":1,"title":"article","content":"text"}"

Пример

Давайте используем метод toJson для передачи данных в представление Blade:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function show(Article $article) { $res = $article->toJson(JSON_PRETTY_PRINT); return view('article.show', ['articleJson' => $res]); } } ?>
<script> const articleData = {!! $articleJson !!}; console.log(articleData); </script>

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

  • метод toArray,
    который преобразует модель в массив
  • метод makeHidden,
    который временно скрывает атрибуты модели
  • метод makeVisible,
    который временно показывает скрытые атрибуты модели
  • метод hidden,
    который определяет атрибуты, скрытые при преобразовании
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить