Stars: 692
Forks: 92
Pull Requests: 132
Issues: 198
Watchers: 20
Last Updated: 2023-09-12 01:31:42
Laravel-Mediable is a package for easily uploading and attaching media files to models with Laravel 5.
License: MIT License
Languages: PHP
Laravel-Mediable is a package for easily uploading and attaching media files to models with Laravel.
image
for JPEG, PNG or GIF).'thumbnail'
, 'featured image'
, 'gallery'
or 'download'
.Upload a file to the server, and place it in a directory on the filesystem disk named "uploads". This will create a Media record that can be used to refer to the file.
$media = MediaUploader::fromSource($request->file('thumb'))
->toDestination('uploads', 'blog/thumbnails')
->upload();
Attach the Media to another eloquent model with one or more tags defining their relationship.
$post = Post::create($this->request->input());
$post->attachMedia($media, ['thumbnail']);
Retrieve the media from the model by its tag(s).
$post->getMedia('thumbnail')->first()->getUrl();
Add the package to your Laravel app using composer
composer require plank/laravel-mediable
Register the package's service provider in config/app.php
. In Laravel versions 5.5 and beyond, this step can be skipped if package auto-discovery is enabled.
'providers' => [
...
Plank\Mediable\MediableServiceProvider::class,
...
];
The package comes with a Facade for the image uploader, which you can optionally register as well. In Laravel versions 5.5 and beyond, this step can be skipped if package auto-discovery is enabled.
'aliases' => [
...
'MediaUploader' => Plank\Mediable\MediaUploaderFacade::class,
...
]
Publish the config file (config/mediable.php
) of the package using artisan.
php artisan vendor:publish --provider="Plank\Mediable\MediableServiceProvider"
Run the migrations to add the required tables to your database.
php artisan migrate
Read the documentation here.
This package is released under the MIT license (MIT).
Plank is a web development agency based in Montreal, Canada.