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

Метод fresh

Метод fresh применяется к существующему экземпляру модели Eloquent и возвращает новый экземпляр этой модели, загруженный из базы данных. Он полезен, когда нужно получить актуальное состояние модели после того, как другие части приложения могли изменить её данные. Метод принимает необязательный массив отношений для жадной загрузки и возвращает новый объект модели или null, если запись была удалена.

Синтаксис

<?php $freshModel = $model->fresh($relations); ?>

Пример

Давайте получим статью из базы данных, изменим её заголовок, а затем загрузим свежие данные, чтобы убедиться, что изменения сброшены:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function index() { $article = Article::first(); echo $article->title; $article->title = 'New Title'; $freshArticle = $article->fresh(); echo $freshArticle->title; } } ?>

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

"Original Title" "Original Title"

Пример

Давайте используем метод fresh с жадной загрузкой связанных данных. Получим статью с автором, а затем обновим её с загрузкой автора и комментариев:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function index() { $article = Article::with('author')->first(); echo $article->author->name; $freshArticle = $article->fresh(['author', 'comments']); echo $freshArticle->author->name; echo $freshArticle->comments->count(); } } ?>

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

"John Doe" "John Doe" "5"

Пример

Давайте посмотрим, что возвращает метод fresh, если модель была удалена из базы данных:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function index() { $article = Article::find(100); if ($article) { $freshArticle = $article->fresh(); if ($freshArticle === null) { echo 'Model was deleted from database'; } } else { echo 'Article not found'; } } } ?>

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

"Article not found"

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

  • метод refresh,
    который обновляет текущую модель новыми данными
  • метод save,
    который сохраняет изменения модели в базу данных
  • метод update,
    который обновляет модель в базе данных
  • метод getOriginal,
    который возвращает оригинальные значения атрибутов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить