我的Laravel 4.2項目存在一些問題。 我有一個Photo
模型和一個Service
模型與關係Service hasMany Photos
。Laravel刪除方法:如何刪除相關文件
照片(文件)存儲在public/upload/
目錄中。 當我刪除照片(在Photo
方法delete()
)刪除該文件的形式在服務器(如下圖所示的代碼),但是當我(在Service
方法delete()
)刪除Service
數據庫條目Service
和它的所有照片(DB記錄)被刪除,但文件甚至沒有當我觸發$this->photos()->delete();
我放在Log::debug('photos->delete() fired');
在Photo->delete()
方法,如果我直接調用它它的射擊,當我嘗試通過Service->delete()
啓動它有沒有日誌條目。 我不知道爲什麼它會這樣。誰能幫忙?
這是我的代碼Service
:
public function photos()
{
return $this->hasMany('Photo');
}
public function delete()
{
$this->photos()->delete();
parent::delete();
}
而且Photo
:
public function delete()
{
Log::debug('photos->delete() fired');
$file = public_path().'/upload/'.$this->filename;
if(File::isFile($file)){
File::delete($file);
}
parent::delete();
}
這是工作,如果我刪除模型直接'光電>刪除()'但是,當它通過推出'Service()'('$ this-> photos() - > delete()')它根本不運行。 – violator667