3 回答

TA貢獻1804條經(jīng)驗 獲得超2個贊
您可以使用where路由實例上的方法來限制路由參數(shù)的格式。該where方法接受參數(shù)的名稱和定義如何約束參數(shù)的正則表達式:
Route::get('/fasilitas/{fasilitas_id}/{any}','Fasilitas_controller@detail_fasilitas')->where(['fasilitas_id' => '[0-9]+', 'any' => '[0-9]+']);
Route::get('/fasilitas/get_kategori/{kf_id}','Fasilitas_controller@get_kategori')->where('kf_id' => '[0-9]+');
更多信息正則表達式約束
傳遞它的另一種方法定義名稱路由。
Route::get('/fasilitas/{fasilitas_id}/{any}','Fasilitas_controller@detail_fasilitas')->name('fasilitas.example1');
<a href="{{ route('fasilitas.example1',['fasilitas_id'=>1,'any'=>2]) }}">
Route::get('/fasilitas/get_kategori/{kf_id}','Fasilitas_controller@get_kategori')->name('fasilitas.example2');
<a href="{{ route('fasilitas.example2',['kf_id'=>1]) }}">

TA貢獻1877條經(jīng)驗 獲得超1個贊
擊中/fasilitas/get_kategori
時觸發(fā)第一條路線,并get_kategori
成為{fasilitas_id}
.
更改路線的順序,因此/fasilitas/get_kategori
首先觸發(fā):
Route::get('/fasilitas/get_kategori/{kf_id}','Fasilitas_controller@get_kategori'); Route::get('/fasilitas/{fasilitas_id}/{any}','Fasilitas_controller@detail_fasilitas');

TA貢獻1811條經(jīng)驗 獲得超6個贊
第一條路線的第二段是通配符,這意味著它可以是任何東西。
當在瀏覽器中調(diào)用第二個路由時,第二個段 (/get_kategori/) 正在通過第一個路由的通配符。
更改路線順序可能會解決問題。但最佳做法是更改路線名稱。例子:
Route::get('/fasilitas/something_else/{fasilitas_id}/{any}','Fasilitas_controller@detail_fasilitas');
Route::get('/fasilitas/get_kategori/{kf_id}','Fasilitas_controller@get_kategori');
- 3 回答
- 0 關注
- 182 瀏覽
添加回答
舉報