(2/2) NotFoundHttpException No query results for model [App\Post].

本文介绍了一种在Laravel框架中解决路由冲突的方法,通过调整路由定义顺序或使用正则表达式来避免由动态参数引起的路由匹配错误。

如图,刚上手接触laravel,出的问题毫无头绪,就放到一边了!

幸好在这里查到了解决方案 http://coding.imooc.com/learn/questiondetail/26102.html 

方案解读:

路由访问检测是从上到下,当检测到{}时后面的会替换成含有{}

由于在create 之前有{} 所以 laravel 会把create 换成{create}

解决方法 

把含有{}放后面,要么加个路由正则,限制只接收数字参数


这是转字别人,谢谢你。

Route::group(['prefix' => 'posts'],function(){
    //文章列表
    Route::get('/','PostController@index');
    //创建文章
    Route::get('/create','PostController@create');
    Route::post('/posts','PostController@store');
    //编辑文章
    Route::get('/{post}/edit','PostController@edit');
    Route::put('/{post}','PostController@update');
    //删除文章
    Route::get('/delete','PostController@delete');
    //文章詳情
    Route::get('/{post}','PostController@show');
    
});

运行完后才发现是自己把顺序搞反了 调整一下位置 原来的也是可以用的,zz了

//文章列表
Route::get('/posts','\App\Http\Controllers\PostController@index');
//创建文章
Route::get('/posts/create','\App\Http\Controllers\PostController@create');
Route::post('/posts','\App\Http\Controllers\PostController@store');
//文章詳情
Route::get('/posts/{post}','\App\Http\Controllers\PostController@show');
//编辑文章
Route::get('/posts/{post}/edit','\App\Http\Controllers\PostController@edit');
Route::put('/posts/{post}','\App\Http\Controllers\PostController@update');
//删除文章
Route::get('/posts/delete','\App\Http\Controllers\PostController@delete');



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值