Удалить данные из всех таблиц, используя Load () Laravel 5.5

я пытаюсь удалить модель из таблицы модели и все ее комментарии из таблицы комментариев … мой текущий код удаляет модель, но не ее комментарии из другой таблицы …

Вот моя функция уничтожения

public function destroy(Request $request,CadModel $cadmodel)
{
$cadmodel->load('comments')->delete();
$request->session()->flash('message.level', 'success');
$request->session()->flash('message.content', 'File Deleted Successfully!');
return redirect()->route('dashboard');
}

Вот отношение, которое я определил в CadModel Laravel Model …

 public function comments()
{
return $this->hasMany(Comment::class);
}

Пожалуйста, ответьте и предложите мне решение для удаления как модели, так и ее комментариев.

0

Решение

В вашей миграции установите соответствующие комментарии, которые будут удалены, если модель удалена с onDelete('cascade'),

Пример:

/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('comments_model', function(Blueprint $table)
{
$table->increments('id');
$table->integer('comment_id')->unsigned();
$table->integer('model_id')->unsigned();

$table->foreign('comment_id')->references('id')->on('comments')->onDelete('cascade');
$table->foreign('model_id')->references('id')->on('models')->onDelete('cascade');
});
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector