سلام من میخوام آی دی خاصی رو ویرایش کنم مثلا آی دی 1 جدول setting
میخوام ببینم چطوری میشه آدرس زیر بصورت اصولی با روت پاس داده بشه
http://127.0.0.1:8000/admin/settings/1/edit```
مثلا بالا گفتم از تنظیمات آی دی یک رو برای ویرایش نشون بده و خب به صفحه ویرایش پاس داده میشه
میدونم که این کار اصولی و درست نیست میخوام ببینم چطوری میشه آی دی خاصی رو برای یک دکمه ایجاد کرد و به صفحه ویرایش پاس داد؟
سلام، وقتتون بخیر
برای انجام این کار بهصورت اصولی، میتوان از Named Routes و Resource Routes در لاراول استفاده کرد.
میتوانید مسیر ویرایش را بهصورت زیر تعریف کنید:
web.php
Route::resource('admin/settings', SettingController::class);
این خط تمام عملیات CRUD را بهطور خودکار ایجاد میکند، از جمله مسیر ویرایش:
GET /admin/settings/{setting}/edit
در ویو Blade، میتوانید یک دکمه برای ویرایش یک آیتم خاص قرار دهید:
<a href="{{ route('settings.edit', ['setting' => $setting->id]) }}" class="btn btn-primary">ویرایش</a>
یا اگر دکمه را درون یک فرم قرار دهید:
<form action="{{ route('settings.edit', ['setting' => $setting->id]) }}" method="GET">
<button type="submit" class="btn btn-primary">ویرایش</button>
</form>
اگر نمیخواهید از resource
استفاده کنید، میتوانید مسیر را دستی به شکل زیر در web.php
تعریف کنید:
Route::get('/admin/settings/{id}/edit', [SettingController::class, 'edit'])->name('settings.edit');
و در کنترلر:
public function edit($id)
{
$setting = Setting::findOrFail($id);
return view('admin.settings.edit', compact('setting'));
}
در این روش، نام روت (settings.edit
) را در Blade استفاده کنید:
<a href="{{ route('settings.edit', $setting->id) }}" class="btn btn-primary">ویرایش</a>
به نظر من از Resource Route استفاده کنید، چرا که مسیر بهینهتر و مدیریت آن راحتتر خواهد بود.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟