matchingood / laravel-eloquent-storage
管理文件的Eloquent模型。
v0.2.5
2024-02-06 06:15 UTC
Requires
- laravel/framework: ^5.2
This package is not auto-updated.
Last update: 2024-09-29 01:54:21 UTC
README
轻松管理的Eloquent模型文件
$file = $request->file('file'); $userFile = new UserFile; $userFile->saveFromUploadedFile($file); $userFile->getContent(); // the content in the $file
安装
在您的composer.json中,
"matchingood/laravel-eloquent-storage": "^0.2.1"
然后您在config/app.php中注册EloquentStorage。
'providers' => [
.
.
.
MatchinGood\EloquentStorage\EloquentStorageServiceProvider::class
],
您可以创建配置文件以执行
$ php artisan vendor:publish
然后您可以配置app/eloquentstorage.php
用法
首先,您必须在与您希望它管理的文件相关的表中添加3个特定列。
// original file name $table->string('file_name'); // unique file name to avoid conflicting original names $table->string('unique_file_name'); // directory to store directory information // for using directory parameters on saveConent or saveUploadedFile $table->string('directory');
然后,您可以使用MatchinGood\EloquentStorage启用eloquet模型来管理文件。
class UserFile extends MatchinGood\EloquentStorage\EloquentStorage { }
通过EloquentStorage存储文件有两种方法。
$userFile = new UserFile; // 1. store text $userFile->saveContent('file name', 'content'); // 2. store uploaded file $file = $request->file('file'); $userFile->saveFromUploadedFile($file); // you can add root directory like below // in this case with local driver, // it's gonna be stored at storage/app/root/user_files/xxxxxx $userFile->saveFromUploadedFile($file, 'root');
然后您可以在表中查看新记录以及您在storage/user_files/xxxxxxx中保存的新文件。
此库还提供响应宏。
$userFile = UserFile::find(1); return response()->downloadEloquentStorage($userFile);