Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Attachmentable Laravel Package

laravelir/attachmentable

View on GitHub
Deep Wiki
Context7
  • 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();
       
    }
}

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed