محمد میرزاخانی
3 سال پیش توسط محمد میرزاخانی مطرح شد
3 پاسخ

مشکل در UPDATE پس در لاراول

سلام دوستان
من در لاراول فرمی طراحی کردم برای ویرایش پستها و هم در قسمت CREATEو هم در قسمت UPDATE تاکید کردم که slug تکراری نباشه.اما موقعی که کاربر میخاد پست خودشا ویرایش کنه اگه slug پستش همون قبلی باشه خطا میده که slug قبلا استفاده شده.مشکل کار کجاست؟؟


ثبت پرسش جدید
سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 3 سال پیش آپدیت شد
0

سلام. مشکل رایجی هست . در بحث آپدیت کردن باید شناسه/ستون مورد نظرتون که یونیک هست برای همون آیتم که در حال ویرایشش هستید اصطلاحا ignore بشه یا نادیده گرفته بشه. چند مدل نوشتن واسش موجوده در مستندات لاراول

بسته به راحتی خودتون میتونید از هرکدام استفاده کنید.


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام خسته نباشید
در قسمت validation بیاید همچین کاری کنید

$rules = [
    'slug' => ['required', 'string', 'min:3', 'max:255', 'unique:products,slug'],
];

if (request()->method === 'PATCH') {
    $rules['slug'] = ['required', 'string', 'min:3', 'max:255', 'unique:products,slug,' . request()->id];
}

return $rules;

در قسمت فرم که داری ویرایش میکنی بیا یه input مخفی بزار

<input type="hidden" name="id" value="{{ $product->id }}">

مشکل حل میشه :)


محمد میرزاخانی
@mirzamohammad.com 3 سال پیش مطرح شد
0

'slug' =>Rule::unique('posts')->ignore($Post->id),


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

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