2017-10-01 1 views
0

Model 테이블에서 모델 삭제 및 Comments 테이블의 모든 주석을 삭제하려고합니다. 현재 코드는 모델을 삭제하지만 다른 테이블의 주석은 삭제하지 않습니다. .데이터 삭제 Load()를 사용하는 모든 테이블에서 Laravel 5.5

여기

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

회신 및 both..Mod을 삭제하는 나에게 해결책을 제안하십시오 ... 기능 여기

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 모델에 정의 된 관계가에게 파괴 내입니다 el 및 해당 설명

+0

당신은 설득력을 사용할 수 있습니다. 이것을 확인하십시오 https://stackoverflow.com/questions/14174070/automatically-deleting-related-rows-in-laravel-eloquent-orm – kawadhiya21

+0

나는 Eloquent를 사용하지 않고 솔루션이 필요합니다. – ma123456

+0

당신은 자신의 솔루션을 작성해야합니다. – kawadhiya21

답변

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'); 
     }); 
    }