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

Метод makeHidden

Метод makeHidden применяется к экземпляру модели Eloquent и позволяет временно скрыть один или несколько атрибутов при преобразовании модели в массив или JSON-строку. В отличие от свойства hidden, который действует на все экземпляры модели, makeHidden влияет только на конкретный экземпляр. Первым параметром передаётся имя атрибута или массив имён. Метод возвращает тот же экземпляр модели.

Синтаксис

<?php $model->makeHidden($attributes); ?>

Пример

Давайте скроем поле 'password' у модели пользователя:

<?php use AppModelsUser; $user = User::find(1); $user->makeHidden('password'); $res = $user->toArray(); print_r($res); ?>

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

[ "id" => 1, "name" => "user", "email" => "user@example.com" ]

Пример

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

<?php use AppModelsArticle; $article = Article::find(1); $article->makeHidden(['internal_id', 'draft_content']); $res = $article->toJson(); echo $res; ?>

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

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

Пример

Скрытие атрибутов при преобразовании в JSON через коллекцию:

<?php use AppModelsUser; $users = User::all(); $filtered = $users->each(function ($user) { $user->makeHidden(['password', 'remember_token']); }); $res = $filtered->toJson(); echo $res; ?>

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

"[{"id":1,"name":"user1","email":"user1@example.com"},{"id":2,"name":"user2","email":"user2@example.com"}]"

Пример

Комбинирование makeHidden с другими методами модели:

<?php use AppModelsArticle; $article = Article::find(5); $article->makeHidden('views_count') ->append('full_text') ->load('comments'); $res = $article->toArray(); print_r($res); ?>

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

[ "id" => 5, "title" => "article", "content" => "text", "full_text" => "full text content", "comments" => [...] ]

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

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