۷ دانشجوی سون‌لرن
ارسال نشدن id به Route
جامعه پی اچ پی ایجاد شده در ۲۱ فروردین ۱۴۰۲

استاد من یه صفحه index دارم یک سری اطلاعات رو بهش پاس دادم برا نمایش.

الان میخوام id هر فیلد رو برای صفحه edit ارسال کنم اما هیچ id ارسال نمیشه.

داخل صفحه index که dd میگیرم id رو بهم میده اما داخل متد edit هیچ id دریافت نشده و نمیشه فیلدی رو پیدا کرد و آپدیتی نمیشه .

e56a-SharedScreenshot.jpg

M ۲۱ فروردین ۱۴۰۲، ۱۴:۲۰

استاد من یه صفحه index دارم یک سری اطلاعات رو بهش پاس دادم برا نمایش.

الان میخوام id هر فیلد رو برای صفحه edit ارسال کنم اما هیچ id ارسال نمیشه.

داخل صفحه index که dd میگیرم id رو بهم میده اما داخل متد edit هیچ id دریافت نشده و نمیشه فیلدی رو پیدا کرد و آپدیتی نمیشه .

M ۲۱ فروردین ۱۴۰۲، ۱۴:۲۱

سلام

لطفا روتی که تعریف کردید رو بفرستید و همچنین متد edit تون رو تا بررسی کنیم

صادق برزگر ۲۱ فروردین ۱۴۰۲، ۲۱:۰۷
@foreach($roles as $key => $role)
    
        <th>{{ $roles->firstItem() + $key }}th>
        <th>{{ $role->display_name }}th>
        <th>{{ $role->name }}th>
        <th>
            <a class="btn btn-sm btn-outline-success" href="{{ route('admin.roles.show' , $role->id) }}">نمایشa>
            <a class="btn btn-sm btn-outline-info mr-3" href="{{ route('admin.roles.edit' , $role->id) }}">ویرایشa>
        th>
    
@endforeach
public function edit(Role $role)
{
    return view('admin.roles.edit' , compact('role'));
}
Route::resource('roles', RoleController::class);

خدمت شما

M ۲۲ فروردین ۱۴۰۲، ۰۹:۰۵

موقع dd گرفت از متد edit این پیغامو میاره

a51c-SharedScreenshot.jpg

M ۲۲ فروردین ۱۴۰۲، ۱۵:۴۱

سلام

شما اگر تایپ مدل Role رو برای گرفتن role در متد ادیت اختصاص دادید باید از اون تایپ به متد پاس بدید و شما دارید در عوض یک اینتجر آیدی رو پاس میدید که از تایپ مدل رول‌ها نیست و نام متغیر هم باید id باشه تا درون متد قرار بگیره.

public function edit(int $id)
{
    $role=Role::findOrFail($id);
    return view('admin.roles.edit' , compact('role'));
}


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

@foreach($roles as $key => $role)
        <th>{{ $roles->firstItem() + $key }}th>
        <th>{{ $role->display_name }}th>
        <th>{{ $role->name }}th>
        <th>
            <a class="btn btn-sm btn-outline-success" href="{{ route('admin.roles.show' , $role) }}">نمایشa>
            <a class="btn btn-sm btn-outline-info mr-3" href="{{ route('admin.roles.edit' , $role) }}">ویرایشa>
        th>
@endforeach
public function edit(Role $role)
{
    return view('admin.roles.edit' , compact('role'));
}


بهترین پاسخ
احمدرضا فاطمی کیا ۲۲ فروردین ۱۴۰۲، ۱۶:۱۴

حل شد مرسی ممنون

M ۲۳ فروردین ۱۴۰۲، ۰۸:۲۶