有一個Laravel路由傳參數問題要請教
路由的設定 :
web.php
Route::get('employeeEdit/{id}','EmployeeController@edit');
第一種呼叫方法:
<a href="{{ route('employeeEdit',['id'=>$user->id]) }}">{{ $user->name }}</a>
出現錯誤
Route [employeeEdit] not defined.
第二種呼叫方法:
<a href="{{ action('EmployeeController@edit',['id'=>$user->id]) }}">{{ $user->name }}</a>
可以顯示資料頁面
第三種呼叫:
直接在網址輸入 http://127.0.0.1/erp/public/employeeEdit/1
也可以正常顯示頁面
想請問能不能用employeeEdit名稱做為呼叫的路徑
感謝邦友回答 這邊整理 耿直小伙和 screenleon 的支持2種方法都可行喔
Route::get('{id}',[
'as'=>'employeeEdit',
'uses'=>'EmployeeController@edit'
]);
Route::get('employeeEdit/{id}','EmployeeController@edit')->name('employeeEdit');
試試看將你的 route 命名
Route::get('employeeEdit/{id}', [
'uses' => 'EmployeeController@edit',
'as' => 'employeeEdit'
]);
Route::get('employeeEdit/{id}','EmployeeController@edit');
改成
Route::get('employeeEdit/{id?}','EmployeeController@edit');
或是另建一個路由來處理
Route::get('employeeEdit','EmployeeController@edit');
在後面新增
Route::get('employeeEdit/{id}','EmployeeController@edit')->name('employeeEdit');