محسن رجبی
1 ماه پیش توسط محسن رجبی مطرح شد
1 پاسخ

ویرایش آی دی خاص در لاراول

سلام من میخوام آی دی خاصی رو ویرایش کنم مثلا آی دی 1 جدول setting
میخوام ببینم چطوری میشه آدرس زیر بصورت اصولی با روت پاس داده بشه


            http://127.0.0.1:8000/admin/settings/1/edit```
مثلا بالا گفتم از تنظیمات آی دی یک رو برای ویرایش نشون بده و خب به صفحه ویرایش پاس داده میشه

میدونم که این کار اصولی و درست نیست میخوام ببینم چطوری میشه آی دی خاصی رو برای یک دکمه ایجاد کرد و به صفحه ویرایش پاس داد؟

ثبت پرسش جدید
سجاد حسین زاده
تخصص : Full-Stack Developer
@sajjadhosseinzadeh 2 هفته پیش مطرح شد
0

سلام، وقتتون بخیر

برای انجام این کار به‌صورت اصولی، می‌توان از Named Routes و Resource Routes در لاراول استفاده کرد.


۱. تعریف روت به‌صورت Resource

می‌توانید مسیر ویرایش را به‌صورت زیر تعریف کنید:

تعریف روت در 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 استفاده کنید، چرا که مسیر بهینه‌تر و مدیریت آن راحت‌تر خواهد بود.


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

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