shrestharikesh / laravel-media-manager
轻松在laravel中上传媒体
dev-main
2023-07-05 01:28 UTC
Requires
- php: >=7.3
- illuminate/database: ^9.18|^10.0
- illuminate/support: ^9.18|^10.0
This package is auto-updated.
Last update: 2024-09-05 04:15:10 UTC
README
轻松将媒体与Eloquent模型关联
入门指南
安装包
composer require shrestharikesh/laravel-media-manager
运行迁移
php artisan migrate
使用方法
将包提供的特质应用于任何模型
use Shrestharikesh\LaravelMediaManager\HasMedia; class Post extends Model { use HasMedia; // Rest of your code }
将任意数量的媒体关联到模型
$post = Post::create($data); $post->addMedia($request->image);
或者只关联一个到模型的每个标签
$post->addMedia($request->image)->deletePrevious();
轻松上传媒体到不同的标签
$post->addMedia($request->featured_image)->withTag('featured'); $post->addMedia($request->thumbnail_image)->withTag('thumbnail')->withAltText('Featured Image');
轻松获取所有关联的媒体
$post = Post::find(1); $post->getMedia($request->featured_image); // Returns medias from all topics $post->getMedia($request->featured_image, 'default'); // Medias uploaded without any tag $post->getMedia($request->featured_image, 'featured');
或者只获取一个
$post->getFirstMedia($request->featured_image); $post->getFirstMedia($request->featured_image, 'featured');
轻松在blade文件中显示媒体
<img src="{{$featured_post->getFirstMedia('featured')?->url}}"/>
你即将删除模型并希望删除所有关联的媒体吗?
$post = Post::find(1); $post->deleteMedia(); $post->delete();
或者只从特定主题中删除媒体
$post = Post::find(1); $post->deleteMedia('featured');
或者只删除不再需要的媒体
$post->deleteSpecificMedia(1); // Pass the media id
哦,不!你发现bug了吗?请随意在GitHub上 创建问题,我们会尽快修复。
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。