新手在这里拉拉维尔!我有类别表和构成表两者都相关,每个类别都有许多构成,每个构成都属于类别,我要做的是每次删除一个类别时,也必须删除与该类别相关的所有构成。 / p>
这是我的类别模型
class Category extends Model
{
function formations()
{
return $this->hasMany('App\Formation');
}
protected $fillable =['name','description'];
}
这是我的编队模型
class Formation extends Model
{
function category()
{
return $this->belongsTo('App\Category',"category_id");
}
}
这就是我删除“我的类别”的方式
public function destroy(Category $category)
{
$category->delete();
return redirect()->route('category.index');
}
我应该添加什么代码,以便在删除任何类别时也删除与之相关的所有编排?我希望我的问题很清楚,谢谢。
答案 0 :(得分:1)
只需删除所有关系,然后再使用$category->formations()->delete();
删除类别
或者您可以通过听删除事件将其添加到模型中
class Category extends Eloquent
{
public static function boot() {
parent::boot();
static::deleting(function($category) {
$category->formations()->delete();
});
}
public function formations()
{
return $this->has_many('Formation');
}
}