我有一个像这样构建的简单关系模型: Parent :
<?php
class Appartement extends Eloquent {
public function gallery()
{
return $this->hasOne('Gallery', 'object_id')->where('type', '=', 'appartement');
}
public function delete()
{
$this->gallery()->delete();
return parent::delete();
}
}
第一个孩子画廊
class Gallery extends \Eloquent {
protected $fillable = [];
public function images()
{
return $this->hasMany('GalleryImage');
}
public function delete()
{
$this->images()->delete();
return parent::delete();
}
}
第二个孩子的形象
class GalleryImage extends \Eloquent {
protected $fillable = [];
public function gallery()
{
return $this->belongsTo('Gallery');
}
public function delete()
{
unlink(public_path().$this->link);
return parent::delete();
}
}
所以基本上没什么大不了的:一个公寓有一个画廊,一个画廊有很多图像。它工作得很好,问题是当我删除一个公寓时,我想删除与该公寓关联的画廊和图像。
所以我试图覆盖删除方法。公寓被删除,还有画廊,但是图片没有被删除,而且似乎无法使用画廊的删除功能,因为我试图添加一个模具;在函数中,但它永远不会死。
有谁知道我怎么能克服这个?谢谢