任何人都可以告诉我如何做到这一点?当我删除相册时,我想从服务器上删除所有上传的文件,删除关系并从数据库中删除照片。删除文件工作(但如果有更好的方式来做到这一点,通过各种手段,赐教):Laravel多态关系分离和删除
foreach($album->photos as $photo)
{
File::delete($photo->path);
File::delete($photo->thumbnail_path);
}
但我的主要问题是这样的。我想分离相册和照片之间的关系,并在删除实际文件后从数据库中删除照片。但我只能使用detach删除关系,或者使用delete删除数据库中的照片。无论我第一次使用哪一个作品,都是因为之后关系不存在或照片不见了,当然。
我该怎么做?有没有简单的方法来实现这一点?
编辑:
做,现在这样的权利,好做法还是有更好的办法?
public function delete(Album $album)
{
$ids = array();
foreach($album->photos as $photo)
{
File::delete($photo->path);
File::delete($photo->thumbnail_path);
$ids[] = $photo->id;
}
$album->photos()->detach();
Photo::whereIn('id',$ids)->delete();
$album->delete();
flash()->success('Album deleted');
return back();
}
试试这个\文件::删除($文件); –