[英]Delete Data From all tables using 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模型中定義的關系...
public function comments()
{
return $this->hasMany(Comment::class);
}
請回復並建議我刪除..Model及其注釋的解決方案
在遷移中,如果使用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');
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.