У меня есть простые реляционные модели, которые я построил следующим образом: 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();
}
}
В общем, ничего особенного: в одной квартире есть одна галерея, в одной галерее много изображений. Это работает довольно хорошо, проблема в том, что когда я удаляю квартиру, я хотел бы удалить галерею и изображения, связанные с квартирой.
Поэтому я попытался переопределить метод удаления. Appartement удаляется, как и галерея, но изображения не удаляются, и кажется, что нет доступа к функции удаления Gallery, потому что я пытался добавить плашку; в функции, но она никогда не умирает.
Кто-нибудь знает, как я могу это преодолеть? Спасибо