2015-10-18 3 views
0

У меня есть записи в Model, что мне нужно удалить, однако мне нужно удалить их id «S также из сводной таблицы, поэтому я попытался перечислила удаляемого события, но это не сработалоКак правильно указывать удаленное событие?

Вот как добавить событие:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Criteria extends Model { 

    protected $table = 'criterias'; 

    public static function boot() 
    { 
     parent::boot(); 

     static::deleted(function($criteria) 
     { 
      DB::table('criteria_criteria')->where('criteria_id', '=', $criteria->id)->delete(); 
     }); 

    } 


} 

Я нахожусь на Laravel 5.1, любая идея, как сделать это?

ответ

0

Я думаю, вы не использовали его отношения. Создайте relationship со сводной таблицей.

public function criteria() 
{ 
    return $this->belongsToMany('App\Criteria'); 
} 

Это автоматически будет обрабатывать ваш запрос на удаление на сводной таблице. У этого есть также один benifit, вы можете использовать его методы sync и detach для добавления и удаления записей сводной таблицы.

Более подробную информацию вы можете найти в этом tutorial по поисковому запросу pivot.

Смежные вопросы