Laravel从存储中删除文件

时间:2018-07-24 15:35:23

标签: 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用作前端,并且对这两者都是新手。

1 个答案:

答案 0 :(得分:0)

所以我找到了解决办法,

            // remove extra documents
            $documents = Document::where('customer_id', $customer->id)->get();
            foreach ($documents as $document) {
                Storage::disk('userfiles')->delete($document->name);
                $document->delete();
            }

没有->get()的{​​{1}}变量为空,因此不会循环。 使用$documents不能使用->get(),因此我将其移入了循环,并使用$documents->delete()

删除了每条记录