msieprawski / eloquent-photos
Photos for Laravel models
0.1
2017-02-25 20:21 UTC
This package is not auto-updated.
Last update: 2024-11-23 20:42:37 UTC
README
About
This package has been created for everyone which has photos related to any eloquent models in projects.
Compatibility
Currently this package has been tested and developed for Laravel 5.3 or greater.
Installation
composer require msieprawski/eloquent-photos
- Add package service provider in your
config/app.php
file:Msieprawski\EloquentPhotos\EloquentPhotosServiceProvider::class,
- Publish migrations and run
php artisan migrate
:php artisan vendor:publish --tag=migrations
- Add HasPhotos trait to your model:
use Msieprawski\EloquentPhotos\HasPhotos
- Add protected property to your model with directory name where photos should be stored:
protected $targetPhotosDirectory = 'users';
Usage
Add photos to your model
<?php namespace App; $user = User::find(1); $user->addPhoto('/path/to/your/photo.jpg'); $user->addPhotos([ '/path/to/your/photo1.jpg', '/path/to/your/photo2.jpg', ]);
Add uploaded photos to your model
<?php namespace App; $photos = request()->file('photos'); $user = User::find(1); $user->addPhoto($photos);
It will automatically upload the photos and store it against user entity.
Get photos
<?php namespace App; $user = User::find(1); $photos = $user->photos; foreach ($photos as $photo) { /** @var Msieprawski\EloquentPhotos\Photo $photo */ echo $photo->photo_path; }
Delete photos
<?php namespace App; $user = User::find(1); $user->destroyPhotos();
License
Licensed under the MIT License