網頁.php
Route::get('/gigs/{id}', [GigsController::class, 'info'])->name('clientside.gigs_info');
Route::get('/gigs/create', [GigsController::class, 'create'])->name('clientside.gigs.create');
控制器
public function create()
{
$categories = Category::select('id', 'name')->get();
return view('clientview.gigs.create', compact('categories'));
}
public function info($id)
{
$gig = Gigs::join('users', 'users.id', '=', 'gigs.created_by')
->join('categories', 'categories.id', '=', 'gigs.category_id')
->select('gigs.*', 'categories.name as category_name', 'users.name as user_name', 'users.surname')
->where('gigs.id', '=', $id)
->orderBy('name', 'ASC')
->firstOrFail();
return view('clientview.gigs.info', compact('gig'));
}
當我嘗試點擊這個時:
<a class="dropdown-item" href="{{ route('clientside.gigs.create') }}">Create Gigs</a>
當我點擊它時,我可以從 DebugBar 觀察到它指向路由 ('clientside.gigs_info') 我認為“/create”認為它是一個 /{ID} 但是,我指向不同的路由
uj5u.com熱心網友回復:
Michael Mano 的回答,確保在動態之前在 web.php 上寫靜態路由。
uj5u.com熱心網友回復:
只需在資訊路由之前寫創建路由,因為它是動態路由(接受引數)所以總是在靜態路由之后寫動態路由。
uj5u.com熱心網友回復:
您實際上創建了一個動態路由 gigs/{id},因此 gigs 之后的任何內容都將作為 gigs 的引數被呼叫。因此,要解決此問題,請更改 web.php 中的順序,如下所示。所以它會先搜索靜態路由,然后再搜索動態路由。
Route::get('/gigs/create', [GigsController::class, 'create'])->name('clientside.gigs.create'); Route::get('/gigs/{id}', [GigsController::class, 'info'])->name('clientside.gigs_info');
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/346212.html
下一篇:ajax回傳空請求(未定義索引)
