跳到主要内容
PHP

laravel 文件上传关联模型,在创建模型之前处理文件上传的最佳方法

管

管理员

PHP

2022年10月23日 1,166 次阅读
本页目录

备注:参考了很多后台管理系统,cms等好像都忽略了文件同步删除,上传未使用文件删除等功能。。。如果不解决这类文件那么随着系统时间将产生越来越多的未使用附件,造成服务器资源浪费

假设您有文章模型一对多morphMany关联附件模型,可以在其中写一篇文章并在保存文章之前上传多张图片。

你如何处理图片上传? 因为在上传过程中,文章尚未创建,因此您无法将照片分配给取消创建文章。

目前想到的解决方法:

当用户到达创建页面之前创建了一个临时数据。 所以你可以给它添加东西。 然后,您可以在数据库中添加一个名为的列 published并将默认值设置为 0。当用户单击创建按钮时,您只需使用正确的字段更新帖子并将已发布字段设置为 1。然后您可以查询所有已发布的文章。 然后,也可以删除所有未发布的帖子。

第二个选项是上传图像并稍后分配它们。 将图像保存在数据库中,当用户保存帖子时,再将图像添加到该帖子中。 这是一个更加困难的解决方案,因为需要跟踪图像以及它们属于哪个帖子。

相关讨论:

https://learnku.com/laravel/t/49073
https://laracasts.com/discuss/channels/servers/best-way-to-handle-file-uploads-before-model-is-created

Related

相关文章

同分类文章 →
2026年07月11日 PHP

laravel什么样的方法适合放在模型中?什么适合用专门的服务类? cachedFavIds适合放在模型中吗?

一、适合放在模型中的方法Laravel 采用 ActiveRecord 风格,模型本身就是"数据 + 围绕该数据的操作"的载体。以下几类方法适合放模型: 关联关系:belongsTo、morphTo、hasMany 等。如 UserFav::userfavable()、UserFav::us

2026年04月13日 PHP

Vue3 静态文件放在同域名 Laravel 项目下

核心思路是:Vue3 构建后的静态文件放到 Laravel 的 public/ 目录下,通过 Laravel 路由的 catch-all 机制让 SPA 的前端路由正常工作。方案说明以 xx.com/admin 为例,整体架构如下:请求流程:xx.com/admin/* → Laravel

2025年08月18日 PHP

Laravel Eloquent 中可以通过静态方式调用的方法

在 Laravel Eloquent 中,可以通过静态方式调用的方法包括:1. 查询作用域 (Scopes)// 可以静态调用UserComment::active()->get();UserComment::where('status', 1)->first();2. Eloquent 内置的查询方法UserComment::fi

WeChat

扫码加我微信

微信二维码