欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

laravel路由无法访问,报404,No query results for model [App\Models\...]

发布时间:2025/7/14 编程问答 92 豆豆
生活随笔 收集整理的这篇文章主要介绍了 laravel路由无法访问,报404,No query results for model [App\Models\...] 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

今天遇到了一个问题,在routes/web.php中配置了路由,但始终无法访问该路由,一直报404。

Route::resource('gift_packs', 'GiftPacksController', ['only' => ['index', 'show', 'create', 'store', 'update', 'edit', 'destroy']]); Route::get('gift_packs/test', 'GiftPacksController@test')->name('gift_packs.test');

然后我在app/Exceptions/Handler.php文件中,修改render()方法:

public function render($request, Exception $exception) {dd($exception);return parent::render($request, $exception); }

把异常打印出来:

No query results for model [App\Models\GiftPack].

先通过 php artisan route:list 查看路由列表

| Domain | Method | URI | Name | | | GET|HEAD | gift_packs/{gift_pack} | gift_packs.show | | | DELETE | gift_packs/{gift_pack} | gift_packs.destroy | | | PUT|PATCH | gift_packs/{gift_pack} | gift_packs.update | | | GET|HEAD | gift_packs/{gift_pack}/edit | gift_packs.edit | | | GET|HEAD | gift_packs/test | gift_packs.test |

原因是laravel路由访问检测是从上到下的。

针对同路径,gift_packs/{gift_pack} 和 gift_packs/test,当我们访问 /gift_packs/test时,路由 gift_packs/{gift_pack} 已经解析了。

字符串 'test' 无法获取GiftPack模型数据,所以就报错了。

解决方法是修改路由配置的上下位置:

Route::get('gift_packs/test', 'GiftPacksController@test')->name('gift_packs.test'); Route::resource('gift_packs', 'GiftPacksController', ['only' => ['index', 'show', 'create', 'store', 'update', 'edit', 'destroy']]);

这样就可以了。

 

  

转载于:https://www.cnblogs.com/jkko123/p/10773000.html

总结

以上是生活随笔为你收集整理的laravel路由无法访问,报404,No query results for model [App\Models\...]的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。