php - 使用路由传递参数 laravel 5.8

标签 php laravel routes

我有两条路线

Route::get('/fasilitas/{fasilitas_id}/{any}','Fasilitas_controller@detail_fasilitas');
Route::get('/fasilitas/get_kategori/{kf_id}','Fasilitas_controller@get_kategori');

但是当我访问第二条路线时,它总是获取第一条路线,为什么? 以及如何解决它? 谢谢你帮助我

最佳答案

您可以在路由实例上使用 where 方法来限制路由参数的格式。 where 方法接受参数名称和定义如何约束参数的正则表达式:

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]+');

了解更多信息Regular Expression Constraints

另一种方式传递它定义名称路由。

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]) }}">

关于php - 使用路由传递参数 laravel 5.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58059565/

相关文章:

php - 为什么 Laravel 的重置密码功能使用数据库,而电子邮件验证使用签名路由?

javascript - 无法绑定(bind)到 'routerLink',因为它不是已知的 native 属性

android - OSM 中的离线路由 - android

php - 对 PHP 的更改需要很长时间才能重新加载

php - Laravel belongsTo 只返回 id 而不是整个对象

php - 404 错误但来自 Codeigniter Framework 中的 JQuery Ajax 的正确响应

angular - Angular 4 和 Laravel 5.4 的刷新路由问题

angularjs - 使用 ASP.NET MVC 6 和 AngularJS 在 SPA 中进行路由

php - PHP文件的真实URI?

php - Mysql用数组设置值