Skip to content

laravelir/attachmentable

Repository files navigation

  • Starts
  • Forks

Laravel attachmentable package

A package for attachment files to models

Installation

  1. Run the command below to add this package:
composer require laravelir/attachmentable 
  1. Open your config/attachmentable.php and add the following to the providers array:
Laravelir\Attachmentable\Providers\AttachmentableServiceProvider::class,
  1. Run the command below to install package:
php artisan attachmentable:install 
  1. Run the command below to migrate database:
php artisan migrate 

Uses

First add Attachmentable trait to models that you want have attachments

namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Laravelir\Attachmentable\Traits\Attachmentable; class Post extends Model { use HasFactory, Attachmentable; }

and add Attachmentorable trait to User models

namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Laravelir\Attachmentable\Traits\Attachmentorable; class User extends Model { use HasFactory, Attachmentorable; }

Methods

in controllers, with Attachmentable trait you have these methods:

namespace App\Http\Controllers; use App\Models\Post; class PostController extends Controller { public function index() { $file = request()->file('thumbnail'); $post = Post::find(1); $post->attach($file, "posts/thumbnails"); $post->attachments // return all attachments $post->attachment($id); // return attachment  $post->detach($id); $post->clearAttachments(); } }

Sponsor this project

Packages

No packages published

Languages