@ART_CORP
Hard work

Как удалить пост с связью many to many?

Добрый день.
Есть три таблицы
users
posts
users_posts
Задача удалить пост и юзера который его создал, зная только id поста.
Буду рад любой помощи.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
Вам надо удалить с пост и пользователя или же пост и связь?

Удаление поста и связки
$post = Post::findOrFail($id);
$post->user()->sync([]);
$post->delete();

Удаление всего
$post = Post::findOrFail($id);
$post->user()->delete();
$post->delete();

Настройка через миграции
Schema::create('users_posts', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('user_id')->unsigned()->index();
    $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
    $table->integer('post_id')->unsigned()->index();
    $table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы