我的 Laravel 4.2 项目有一些问题。我有一个Photo
模型和一个Service
模型有关系Service hasMany Photos
。
照片(文件)存储在public/upload/
目录中。当我删除照片(delete()
中的方法Photo
)时,文件从服务器中删除(代码如下所示)但是当我删除Service
(delete()
中的方法Service
)数据库条目时Service
,它的所有照片(数据库记录)都被删除,但文件即使在我触发时也没有$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();
}