Has-Images هي حزمة تقدم طريقة سهلة وسريعة لربط الصور بالـ model من خلال مفتاح images في Laravel.
هذه الحزمة تعتمد على Uploader.
قم بتنصيب اخر اصدار بواسطة Composer.
1composer require pharaonic/laravel-has-images2php artisan migrate
عملية رفع الصور ستصبح أسهل شئ يمكنك التفكير فيه, فالآن يمكنك حفظ واسترجاع وتحديث وحذف الصور بكل سهولة.
يجب عليك تضمين HasImages trait في الـ model الخاص بك اولاً.
اختياري : يمكنك تخصيص خيارات عملية الرفع من خلال Uploader.
1namespace App\Models; 2 3use Illuminate\Database\Eloquent\Model; 4use Pharaonic\Laravel\Images\HasImages; 5 6class Article extends Model 7{ 8 use HasImages; 9 10 protected $filesOptions = [
11 'images' => [12 'directory' => '/articles/images',13 'thumbnail' => [14 'ratio' => true,15 'width' => 400,16 'height' => null17 ]18 ],19 ];20}
هكذا يمكنك حفظ الصور في الـ model, و يمكنك اتمام عملية الحفظ من خلال الإنشاء أو إضافة صورة واحدة أو تبديل كل الصور الموجودة بقائمة جديدة من الصور.
1// On Create 2$article = Article::create([ 3 'images' => [$request->file1, $request->file2, $request->file3] 4]); 5 6// Add Image 7$article->addImage($request->file1); 8 9// Replace All Images 10$article->images = [$request->file1, $request->file2, $request->file3];11$article->save();
إن الصور عبارة عن مصفوفة لذا يمكنك استرجاع الصور بسهوله أو حتى الصور المصغرة الخاصة بتلك الصور أيضاً.
1echo $article->images[0]->url;2echo $article->images[0]->thumbnail->url;
يمكنك حذف صورة واحدة أو كل الصور أو الـ model والصور أيضاً.
1// Delete Single Image 2$article->images[2]->delete();3 4// Delete All Images 5$article->clearImages();6 7// Delete Model With It's Images too 8$article->delete();