سلام دستان من یه فرم دارم که یه فیلد از دیتابی رو که از نوع enum هست رو میخوام باهاش آپدیت کنم ولی اصلا اتفاقی نمیوفته یعنی تمامم مراحل میره جلو و حتی پیغامی توی سشن برای موفقیت آمیز بودن آپیدیت هم توی کنترلر گذاشتم اجرا میشه ولی توی دیتابیس تغییری نمیکنه و آپدیت اتفاق نمیفته میشه لطفا راهنماییم کنید؟
ای کد ویو
<form action="{{ route('service.update', $applysupportservice->ordersupportservice_id) }}" method="post">
@csrf
@method('put')
<div class="row g-2">
<select name="apply" class="form-select" id="exampleFormControlSelect1" aria-label="Default select example">
<option selected="">نوع تراکنش خود را انتخاب کنید</option>
<option value="Complet">تکمیل شده</option>
<option value="doing">درحال انجام</option>
<option value="unconfirmed">تایید نشده</option>
</select>
</div>
<br>
<div class="modal-footer">
<button type="button" class="btn btn-label-secondary" data-bs-dismiss="modal">انصراف</button>
<button type="submit" class="btn btn-primary">تغییر وضعیت درخواست</button>
</div>
</div>
</form>
اینم کد کنترلر
public function update(Request $request, Ordersupportservice $ordersupportservice)
{
$data = $request->validate([
'apply' => ['required']
]);
dd($data);
$ordersupportservice->update($data);
session()->flash('status', 'وضعیت درخواست پشتیبانی مورد نظر بروزرسانی شد');
return back();
}
اینم فیلد dd که گرفتم و تایید ارسال درست فرم به کنترلر
اینم فیلد enum در دیتابیس و ورودی هایی که میگیره
سلام
احتمالا به این دلیل هست که فیلد ordersupportservice_id رو در فرم خودتون قرار ندادید
<form action="{{ route('service.update', $ordersupportservice->id) }}" method="post">
@MahdiMashayekhi
سلام ممنون بابت پاسخگویی ولی توی کد ویو که توی سوالم هست رو اگر چک کنید میبینید که من آیدی مربوطه رو از جدول با یه کلید خارجی گرفتم توی جدول دیگه ذخیره کردم و از اون طریق آیدی رو دادم روت اپدیت
پس کدتون به نظر درست میاد و مشکلی نداره
اما احتمال داره اون کاربری که با دیتابیس کار میکنه دسترسی نداشته باشه یا اینکه دیتابیس محدودیت داشته باشه
@MahdiMashayekhi
لطفا یکم بیشتر توضیح بدید الان من روی لوکال هستم و کاربری هم که این کد رو داره از سمت فراند تست میکنه خودمم با رول ادمین دسترسی کاربر هست ولی محدودیت دیتابیس رو متوجه نشدم میشه لطفا بیشتر توضیح بدید
سلام به شما دوست عزیز.
تو مدل مربوطه چک کنید مقدار apply داخل fillable$ باشه.
موفق باشید.
@rezajahangir
سلام دوست خوبم ممنون بابت \اسخ گوییتون ولی فیلیبیل مشکل نداره چون که اگر اونجا نباشه قبل از عملیات create به ارور میخوره برنامه با اینحال من د مدلم رو هم براتون میزارم اینجا این مورد خیلی عجیبه و احساسم میگه چیزی که اینقدر همه چیزش درسته و کار نمیکنه یه مشکل خیلی ساده داره که از دید مخفی شده اینقدر سادست 😀 میخوام دوستانی که تخصص دارن بررسی کنند چون من خودم نتونستم \یداش کنم متاسفانه
کد مدل
protected $fillable = [
'apply',
'Contract',
'domain',
'expire_at',
'payment',
'price',
'status',
'supportservice_id',
'user_id'
];
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟