۲ حامد هردانی
چرا از hidden input برای پاس دادن id به کلاس Request استفاده کردیم؟
جامعه پی اچ پی ایجاد شده در ۱۲ خرداد ۱۴۰۴

توی آموزش وقتی به category_id در کلاس UpdateRequest نیاز داشتیم، از ویو با استفاده از اینپوتی که هیدن هست اون رو فرستادیم. 

<form action="{{ route('admin.categories.update', $category->id) }}" method="post">

اما آیا این روش صحیح و اصولی هست؟ با استفاده از route‌ها انجام میشد بهتر نبود؟

خط کدی که گذاشتم اشتباهه. منظورم این خط بود:

<input type="hidden" name="category_id" value="{{$category->id}}">
حامد هردانی ۱۲ خرداد ۱۴۰۴، ۲۰:۲۴

درود 

 

علت استفاده از category_id توی فرم به شکل hidden این بوده که توی پردازش به مقدار این فیلد نیاز بود 

 

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

هر چند که قرار دادن id توی روت خیلی جالب نیست و بهتره از فیلد هایی مثل slug استنفاده بشه و  با قابلیت‌های Route Model Binding هندل بشه خودکار این فیلد شناسایی بشه و خودکار بشناسه و بهتون بده 

مثلا:

Route::put('/categories/{category:slug}', [CategoryController::class, 'update']);

و توی کنترلر هم به این شکل میتونید بگیرید:

public function update(UpdateRequest $request, Category $category)
محمدرسول اصغری ۱۶ خرداد ۱۴۰۴، ۱۲:۳۸