cipemotion/medialibrary

A Laravel media library.

2.1.1 2024-11-19 11:08 UTC

README

A media library package making it easy to implement your own WordPress style media picker component.

This package depends on intervention/image.

Configuration

Add the service providers to your providers array in app.php.

CipeMotion\Medialibrary\ServiceProvider::class,
Intervention\Image\ImageServiceProvider::class

Optional: Add the intervention/image Facade to the aliases array in app.php.

'Image' => Intervention\Image\Facades\Image::class,

Publish the config file:

php artisan vendor:publish --provider="CipeMotion\Medialibrary\ServiceProvider" --tag="config"

Read through the config file and change what is needed.

Database

Publish the migrations file:

php artisan vendor:publish --provider="CipeMotion\Medialibrary\ServiceProvider" --tag="migrations"

Run the migrations:

php artisan migrate

Relations

On your owner model add:

public function files()
{
    return $this->hasMany(\CipeMotion\Medialibrary\Entities\File::class, 'owner_id');
}

On your models add:

public function attachebles()
{
    return $this->morphToMany(\CipeMotion\Medialibrary\Entities\File::class, 'attachable', 'medialibrary_attachable');
}