如何在 Laravel 中编辑数据?

问题描述 投票:0回答:1

我想用 laravel 编辑讲师数据。但是,我收到 404 未找到错误。 这是我使用的路线

Route::controller(DosenController::class)
    ->prefix('dosen')
    ->middleware(['auth'])
    ->group(function () {
        Route::get('/', 'index')->name('dosen.index');
        Route::get('/tambah', 'create')->name('dosen.create');
        Route::post('/tambah', 'store')->name('dosen.store');
        Route::get('/detail/{id}', 'show')->name('dosen.detail');
        Route::get('/edit/{id}', 'edit')->name('dosen.edit');
        Route::put('/edit/{id}', 'update')->name('dosen.update');
        Route::delete('/hapus/{id}', 'destroy')->name('dosen.delete');
        Route::get('pdf', 'exportpdf')->name('dosen.pdf');
    });

这是讲师控制器

public function edit($id)
    {
        $dosen = Dosen::findOrFail($id);
        dd($id);
        return view('dosen.edit', compact('dosen'));
    }

这就是景色

<button class="action" style="background: #ff8200">
     <a href="{{ route('dosen.edit', $dosen->id) }}" style="color: inherit">
        <i class='bx bxs-edit'></i>
        Edit
     </a>
</button>

我已经完成了骰子和转储。但是,收到错误 404 消息。我应该怎么办?我也要换型号吗?

laravel edit
1个回答
0
投票

404错误,表示找不到所请求的路由。该问题与您的视图中如何生成编辑路线链接有关。

你的观点应该是这样的

<button class="action" style="background: #ff8200">

<a href="{{ route('dosen.edit', $dosen->id) }}" style="color: inherit">
    <i class='bx bxs-edit'></i>
    Edit
</a>
</button>

你的路线可以做到这一点:

Route::get('/dosen/edit/{id}', 'edit')->name('dosen.edit');

您的情况

Route::controller(DosenController::class)
    ->prefix('dosen')
    ->middleware(['auth'])
    ->group(function () {
        Route::get('/edit/{id}', 'edit')->name('dosen.edit');
    });

您的控制器:

public function edit(Dosen $dosen)
{
    return view('dosen.edit', compact('dosen'));
}

用于手动检查 URL 确保您正在访问的 URL 与路由文件中定义的路由匹配。在您的情况下,URL 应该类似于 /dosen/edit/{id}。

© www.soinside.com 2019 - 2024. All rights reserved.