Laravel Mediable - 删除媒体和物理文件

时间:2017-03-15 03:17:22

标签: laravel-5

使用Laravel Mediable,我试图找出删除单个文件的最佳方法。当我查看父模型时,请说出文件列表,然后单击删除图标以发出删除文件的ajax请求(应删除相应的Media对象和物理文件... )

这有效:

$path_parts = pathinfo($request->filename);
$attachment = Media::where('directory', $folder)
               ->where('filename', $path_parts['filename'])
               ->where('extension', $path_parts['extension'])
               ->first();
$attachment->delete();

但这只会删除数据库行而不删除物理文件本身:

$attachment = Media::where('id', $request->fileid);
$attachment->delete();

我更喜欢通过ID删除文件,因为它的独特之处,但我想知道我错过了什么...

1 个答案:

答案 0 :(得分:0)

您还必须使用此代码

删除该文件
  

文件::删除('路径/到/' $请求 - >文件名);

=更新= 第二个块的问题只需要在where子句

的末尾添加 - > first()