今天遇到了一个问题,在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']]);
这样就可以了。
laravel路由无法访问,报404,No query results for model [App\Models\...]的更多相关文章
-
laravel报错 No query results for model . 的解决方法
这个通常由路由绑定出的问题,注意有绑定模型的路由,同路径的路由需要放在没绑定路由的后面 例如:/product/comments和/product的是同路径,/product必须放在/product/ ...
-
spring boot无法启动,或者正常启动之后无法访问报404的解决办法
以前用spring boot都是用idea的自动创建,或者是用的Jhipster创建的,就没有深究怎么去搭建.但是今天晚上心血来潮,想自己搭一个demo来整合一些技术,于是就花一点时间来手动搭.因为今 ...
-
jfinal使用idea启动 访问报404 action not found
公司一个项目,在eclipse里面启动正常,换到idea里面启动后,启动没有报错,但是访问的时候会提示404 action not found. 百度了很多种解决方法 都没有解决. 今天脑子一转,想到 ...
-
maven启动tomcat访问报404(url中没有项目名)
[INFO] Running war on http://localhost:8080/js_001(红色部分是项目名,要是没有的话是不能访问项目资源的) 但是我仍然不知道为什么有些maven项目却有 ...
-
解决springboot 新版本 2.1.6 spring-boot-starter-actuator 访问报404
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
-
项目发布到tomcat后,通过项目名称访问报404
查看tomcat发布地址发现和项目名称不一致 如果直接拷贝项目,可能也需要修改此选项 解决方案: 经过排查发现了原因: 首先说明一下项目 Maven+SSM 需要使用到 maven tomcat 7 ...
-
springboot项目启动,但是访问报404错误
启动类Application上加了@ComponentScan(basePackages = {})这个注解导致controller扫描不到导致的,如果加了这个注解,springboot就不会扫描Ap ...
-
jenkins部署报404错误
环境:tomcat 7+jdk1.7+win10 64 jenkins_1.5.23 部署完成后服务器启动输入网址:http://192.168.3.100:8080/jenkins打开无法访问报40 ...
-
Laravel路由除了根目录全报404错误
Route::get('hello',function(){ return 'Hello World!'; }); 在laravel/app/Http/routes.php下添加上面的语句,然后再浏览 ...
随机推荐
-
JavaScript设计模式——前奏(封装和信息隐藏)
前面一篇讲了js设计模式的前奏,包括接口的讲解.. 三:封装和信息隐藏: 信息隐藏用来进行解耦,定义一些私有的数据和方法. 封装是用来实现信息隐藏的技术,通过闭包实现私有数据的定义和使用. 接口在这其 ...
-
JSONP使用笔记
JSONP JSONP是实现跨域GET请求的一种方法, 原理上利用script标签可以动态加载JS文件, 将不同源站点的JSON数据加载到本网站来,如果给定回调函数,将回调函数名传递到服务器端, 在服 ...
-
Spring MVC + jpa框架搭建,及全面分析
一,hibernate与jpa的关系 首先明确一点jpa是什么?以前我就搞不清楚jpa和hibernate的关系. 1,JPA(Java Persistence API)是Sun官方提出的Java持久 ...
-
bzoj1146整体二分+树链剖分+树状数组
其实也没啥好说的 用树状数组可以O(logn)的查询 套一层整体二分就可以做到O(nlngn) 最后用树链剖分让序列上树 #include<cstdio> #include<cstr ...
-
eclipse下如何关联android-support-v4.jar源码
一.首先导入jar包 如果android-support-v4.jar包在libs目录下,先将它移除.然后点选中项目右键 --->properties-->javabuildpath--& ...
-
MVC+EF 随笔小计——分部视图(Partial View)及Html.Partial和Html.Action差异
Partial View指可以应用于View中以作为其中一部分的View的片段(类似于之前的user control), 可以像类一样,编写一次, 然后在其他View中被反复使用. 一般放在" ...
-
高级复制实验配置添加复制节点操作时报错:ORA-23308: object GP.T does not exist or is invalid
出错原因: 使用高级复制时,在源端启动复制支持,执行语句:REPADMIN@bys1>execute dbms_repcat.generate_replication_support('gp', ...
-
10步完成Abp(.net core)+Vue的Demo?
1.去abp官网生成项目,选择.net core1.x版本 2.Nuget还原包,需装dotnet core1.1等. 3.新增一个entity,并加入到上下文中 4.然后cmd命令行工具切换到项目 ...
-
Flutter 控件之 Routes 和 Navigator. [PopupRoute]
一个 App 通常会有多个界面,每个界面实现不同的功能,并在多个界面之间跳转.在 Flutter 中多个界面的跳转是通过 Navigator 来实现的. 在 Flutter 中定义了一个 Overla ...
-
能用HTML/CSS解决的问题,就不要用JS
原因:简单. 简单就意味着更快的开发速度,更小的维护成本,同时往往具有更好的体验. 一,导航高亮 效果图: 代码: <!DOCTYPE html> <html lang=" ...