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

Метод dissociate

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

Синтаксис

<?php $child->relation()->dissociate(); ?>

Пример

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

<?php namespace AppHttpControllers; use AppModelsComment; class CommentController extends Controller { public function dissociateAuthor($id) { $comment = Comment::findOrFail($id); $comment->author()->dissociate(); $comment->save(); return redirect()->back(); } } ?>

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

"Author dissociated successfully"

Пример

Рассмотрим пример с отношением belongsTo и проверкой результата разрыва связи:

<?php namespace AppHttpControllers; use AppModelsPost; use AppModelsUser; class PostController extends Controller { public function dissociateUser($id) { $post = Post::findOrFail($id); if ($post->user) { $post->user()->dissociate(); $post->save(); $res = "User dissociated from post"; } else { $res = "Post has no user"; } echo $res; } } ?>

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

"User dissociated from post"

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

  • метод associate,
    который устанавливает связь между моделями
  • метод belongsTo,
    который определяет отношение принадлежности
  • метод save,
    который сохраняет связанную модель
  • метод fresh,
    который загружает актуальные данные модели
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить