zing / laravel-eloquent-images
Manage images for Laravel eloquent
Package info
github.com/zingimmick/laravel-eloquent-images
pkg:composer/zing/laravel-eloquent-images
3.5.0
2026-03-18 16:07 UTC
Requires
- php: ^8.0
- illuminate/database: ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0
Requires (Dev)
- mockery/mockery: ~1.3.3 || ^1.4.2
- orchestra/testbench: ^6.4 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
- phpunit/phpunit: ^9.3.3 || ^10.0 || ^11.0 || ^12.0 || ^13.0
README
Requires PHP 8.0+
Require Laravel Eloquent Images using Composer:
composer require zing/laravel-eloquent-images
Usage
use Zing\LaravelEloquentImages\Tests\Models\Product;
use Zing\LaravelEloquentImages\Image;
$product = Product::query()->first();
// Add image(s) to model
$product->attachImage("https://avatars.githubusercontent.com/u/26657141");
$product->attachImages([
"https://avatars.githubusercontent.com/u/26657141",
Image::query()->first()
]);
// Remove image(s) from model
$product->detachImage("https://avatars.githubusercontent.com/u/26657141");
$product->detachImages([
"https://avatars.githubusercontent.com/u/26657141",
Image::query()->first()
]);
// Reset images of model
$product->syncImages([
"https://avatars.githubusercontent.com/u/26657141",
Image::query()->first()
]);
// Get images of model
$product->images;
// Eager load images
$products = Product::query()->with('images')->withCount('images')->get();
$products->each(function (Product $product){
$product->images->dump();
$product->images_count;
});
License
Laravel Eloquent Images is an open-sourced software licensed under the MIT license.