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

Метод push

Метод push применяется к экземпляру модели Eloquent и сохраняет не только саму модель, но и все её связанные отношения, которые были изменены. Это удобно, когда необходимо обновить родительскую модель и сразу все её зависимые дочерние записи. Метод не принимает параметров и возвращает bool - успешность выполнения операции.

Синтаксис

<?php Model::push(); ?>

Пример

Давайте сохраним пользователя и все его посты:

<?php namespace AppHttpControllers; use AppModelsUser; use AppModelsPost; class UserController extends Controller { public function saveUserWithPosts() { $user = User::find(1); $user->name = 'New Name'; foreach ($user->posts as $post) { $post->title = 'Updated Title'; } $res = $user->push(); echo "Operation status: " . ($res ? 'true' : 'false'); } } ?>

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

"Operation status: true"

Пример

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

<?php namespace AppHttpControllers; use AppModelsUser; use AppModelsComment; class CommentController extends Controller { public function createUserWithComments() { $user = new User(); $user->name = 'John Doe'; $user->email = 'john@example.com'; $comments = [ new Comment(['text' => 'First comment']), new Comment(['text' => 'Second comment']), ]; $user->comments()->saveMany($comments); $res = $user->push(); echo "User and comments saved: " . ($res ? 'true' : 'false'); } } ?>

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

"User and comments saved: true"

Пример

Давайте обновим статью и все её теги:

<?php namespace AppHttpControllers; use AppModelsArticle; use AppModelsTag; class ArticleController extends Controller { public function updateArticleWithTags() { $article = Article::with('tags')->find(2); $article->title = 'New Article Title'; foreach ($article->tags as $tag) { $tag->name = 'Updated Tag ' . $tag->id; } $res = $article->push(); echo "Article and tags updated: " . ($res ? 'true' : 'false'); } } ?>

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

"Article and tags updated: true"

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

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