Armin Rahmati
4 سال پیش توسط Armin Rahmati مطرح شد
1 پاسخ

ویرایش عکس ملک

سلام به همه دوستان.
فرض کنید من هنگام ثبت ملک برای ملک خودم 2 عکس انتخاب کردم و سپس اونو ثبت کردم، حالا میخوام یکی از عکسا رو حذف کنم و فقط یک عکس واسه ملک خودم ثبت کنم.
مشکلی که هست اینه زمانی که مثلا به اون 2 تا عکس یه عکس دیگه اضافه میکنم اطلاعات به درستی ویرایش میشه ولی وقتی یکی از عکسا رو حذف میکنم، اون عکس حذف نمیشه (اگه مثلا ویژگی های ملکو در هر دو حالت تغییر بدم و ویرایش کنم، اون اطلاعات ویرایش میشه ولی مشکل عکس هست که در حالت دوم حذف نمیشه و همچنان باقی میمونه).
فانکشن آپدیت من به صورت زیر هست.

public function update(Request $request, int $index)
    {
        $estate = Estate::where('id', $index)->first();
        $year = Carbon::now()->year;
        $destinationPath = "uploads/estates/{$year}/";
        $images[] = $estate->images;

        if ($files = $request->file('image1')) {
            $filename = $files->getClientOriginalName();
            $rnd = random_int(1, 1000);
            $files->move(public_path($destinationPath), $rnd . $filename);
            $images[] = $destinationPath . $rnd . $filename;
        }

        if ($files = $request->file('image2')) {
            $filename = $files->getClientOriginalName();
            $rnd = random_int(1, 1000);
            $files->move(public_path($destinationPath), $rnd . $filename);
            $images[] = $destinationPath . $rnd . $filename;
        }

        if ($files = $request->file('image3')) {
            $filename = $files->getClientOriginalName();
            $rnd = random_int(1, 1000);
            $files->move(public_path($destinationPath), $rnd . $filename);
            $images[] = $destinationPath . $rnd . $filename;
        }
        $allImages = implode("|", $images);

        // Apartment && Office - Sell
        if ($request->input('estateType') == 'apartment' && $request->input('type') == 'sell' ||
            $request->input('estateType') == 'office' && $request->input('type') == 'sell') {
            if ($request->input('rent') == null && $request->input('deposit') == null) {
                if (! $request->image1 && ! $request->image2 && ! $request->image3) {

                    $estate->update(array_merge($request->all(), $images));
                }else if ($request->image1 || $request->image2 || $request->image3)
                    $estate->update(array_merge($request->all(), ['images' => $allImages]));
            }
            return redirect('/UserPanel');
        }
}

در واقع در حالت دوم اصلا وارد این حلقه نمیشه.

else if ($request->image1 || $request->image2 || $request->image3)
   $estate->update(array_merge($request->all(), ['images' => $allImages]));

باید چیکار کنم تا این مشکل حل بشه؟


ثبت پرسش جدید
Armin Rahmati
@arminrahmati999 4 سال پیش مطرح شد
0

@mohsenbostan
@ali.bayat
@mohammadeng3731
ممنون میشم راهنمایی کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام