سلام به همه عزیزان
بنده در پایگاه داده جدولی ایجاد کردم که در اون حدود 20 فیلد وجود داره که میخوام تصاویر در اون ها ذخیره بشن ولی متاسفانه در قسمت آپلود دچار مشکل میشم.این قسمتی از کدی هست که آقای موسوی در آموزش استفاده کردن:
public function store(ArticleRequest $request)
{
$imagesUrl = $this->uploadImages($request->file('images'));
auth()->user()->article()->create(array_merge($request->all() , [ 'images' => $imagesUrl]));
return redirect(route('articles.index'));
}
مشکل اینجاست که جدولی که آقای موسوی ایجاد کردن دارای یک فیلد images بود که در کدی که نوشتن به عنوان کلید ازش استفاده کردن.سوال اینجاست اگر 20 فیلد ورودی برای تصویر داشتیم باید چکار انجام دهیم مثلا:
images1
images2
UserImages
BanerImages
, ...
سلام
شما باید یک جدول pics کنید و صرفا توی اون تصاویرتون رو ذخیره کنید. حالا این عکسها باید مشخص بشه به کجا تعلق دارن ( کاربر , مقاله , ...)
برای اینکار شما باید یک رابطه پلی مرفیک ایجاد کنید و نسبتش رو تعیین کنید برای اینکار شما بهتره توضیحات زیر رو مطالعه کنید اگر متوجه نشدید بفرمایید مشکل رو با هم حلش کنیم
https://laravel.com/docs/5.7/eloquent-relationships#polymorphic-relations
من اینکار رو قبلا انجام دادم باید به صورت حلقه مثلا foreach عکس هارو چک کنین که آیا مقدار دهی شدن یا نه اگه شده بودن هر عکس رو داخل فیلد مطعلق بهش آدرسش ذخیره بشه و خودش هم انتقال پیدا کنه به محل ذخیره سازیش
برای این کار باید از جدول واسط و ریلیشن استفاده کنید وگرنه کاری که انجام دادین از نظر منطق برنامه نویسی درست نیست باید جدول واسطی داشته باشید که حداکثر 2 کلید خارجی داشته باشه و با کلید خارجی بهشون متصل بشین که با حلقه for مقادیر رو واکشی کنید در غیر اینصورت راه حل دیگه ای نداره ، مشکل اینجاست که فرض اگر تعداد عکس های شما بیشتر شد مجبور به بازنویسی کد ها هستین
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟