2017-10-01 3 views
0

Ich versuche, Model aus Model Tabelle und alle seine Kommentare aus der Tabelle Comments zu löschen ... mein aktueller Code das Modell löschen, aber nicht seine Kommentare aus der anderen Tabelle .. .Löschen von Daten aus allen Tabellen mit Load() Laravel 5.5

Hier Funktion meines zerstören

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

Hier ist die Beziehung i in CadModel definiert Laravel Modell ...

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

Bitte antworten und mir eine Lösung vorschlagen both..Mod löschen el und seine Kommentare

+0

Sie können Eloquent verwenden. Überprüfen Sie diese https://stackoverflow.com/questions/14174070/automatisch-deleting-related-rows-in-laravel-eloquent-orm – kawadhiya21

+0

Ich brauche eine Lösung ohne Eloquenz verwenden. – ma123456

+0

Sie müssen Ihre eigene Lösung schreiben, die ich – kawadhiya21

Antwort

0

Legen Sie in Ihrer Migration die zugehörigen Kommentare fest, die gelöscht werden sollen, wenn das Modell mit onDelete('cascade') gelöscht wird.

Beispiel:

/** 
    * 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'); 
     }); 
    } 
Verwandte Themen