laravel - Laravel 从存储中删除文件
问题描述
我正在尝试从客户那里删除所有文件:
// remove extra documents
$documents = Document::where('customer_id', $customer->id);
foreach ($documents as $document) {
Storage::disk('userfiles')->delete($document->name);
}
$documents->delete();
记录从数据库中删除,但文件保留在存储文件夹中。数据库中的文件名与存储文件夹中的文件名相同。(选中)
我还以同样有效的方法使用以下代码:
Storage::disk('userfiles')->delete($customer->id_card);
我正在使用 Angular 作为前端,而且我对两者都是新手。
解决方案
于是我找到了解决办法,
// remove extra documents
$documents = Document::where('customer_id', $customer->id)->get();
foreach ($documents as $document) {
Storage::disk('userfiles')->delete($document->name);
$document->delete();
}
没有变量是空->get()
的$documents
,所以它不会循环。不起作用,所以我将它移到循环中并使用它自己删除->get()
每条记录$documents->delete()
$document->delete()
推荐阅读
- bash - 检查图像是否使用 optipng 优化
- react-native - 创建我的项目的构建但失败。反应原生博览会
- angular - 将 Angular 7 Universal 与 Openlayers 5 一起使用
- c++ - 如何在 vtk 中的 3D 表面渲染输出中获取 2D dicom 图像切片的位置
- python - 使用单应投影计算轨迹
- api - IBM Domino 10 - 通过 Domino Data Services API 与 Resource Reservations 集成
- ios - 如何从 iTunesConnect 永久删除应用程序,以便以后无法恢复?
- eloquent - Laravel 获取属于用户的表鬃毛,其中列急切加载
- tensorflow - 使用 load_model 时错误调用 keras 内核初始化程序
- android - 允许用户每天标记出勤一次