路线 laravel 奇怪的错误

Route laravel weirdly error

我对 laravel

中的路线有一些疑问
Route::get('aset/create', 'TransaksiController@aset_create');
Route::get('aset/{id}', 'TransaksiController@aset_view');

这些路线很好,但是当我像这样切换位置时

Route::get('aset/{id}', 'TransaksiController@aset_view');
Route::get('aset/create', 'TransaksiController@aset_create');

aset/create 去了 aset/view

发生了什么事?
谢谢!

aset-view.blade.php 文件,这就是您遇到问题的地方。您要么将变量作为对象访问,它可能是某些东西 null 或您作为对象访问的数组

{id} 是用于传递的参数,现在正在接收创建为 parameter.since 它在 top.Rearrange 中将解决 problem.id 将捕获您传递的任何内容

aset/create 将触发 Route::get('aset/{id}', 'TransaksiController@aset_view');,因为您可以看到显示的模板用于查看 aset-view.blade.php 而不是用于创建的模板,因此 laravel 标识 create 作为 id 参数,因此您的数据库查询将 return 没有行创建您看到的错误,

要解决此问题,您要么保留原始顺序,要么更改视图路线以仅匹配数字(或不匹配 create

Route::get('aset/{id}', 'TransaksiController@aset_view')->where('id', '[0-9]+');