Laravel 4 Laravel 4路线未按预期运行
感谢您抽出时间阅读此问题。我到处都找遍了,找不到答案 我正在学习Laravel,正在制作一个简单的博客。我创建了一个资源控制器,如下所示:Laravel 4 Laravel 4路线未按预期运行,laravel-4,Laravel 4,感谢您抽出时间阅读此问题。我到处都找遍了,找不到答案 我正在学习Laravel,正在制作一个简单的博客。我创建了一个资源控制器,如下所示: Route::resource('blog-posts', 'AdminBlogPostsController'); 我能够让所有操作正常工作(索引、显示、创建、编辑、更新、删除),没有任何问题 由于每个博客文章都属于一个类别,我希望用户按类别筛选博客文章/索引视图,因此我在资源声明之前添加了此命名路由: Route::get('blog-posts/{c
Route::resource('blog-posts', 'AdminBlogPostsController');
我能够让所有操作正常工作(索引、显示、创建、编辑、更新、删除),没有任何问题
由于每个博客文章都属于一个类别,我希望用户按类别筛选博客文章/索引视图,因此我在资源声明之前添加了此命名路由:
Route::get('blog-posts/{category_id?}', 'AdminBlogPostsController@index');
Route::resource('blog-posts', 'AdminBlogPostsController');
此时,用户可以按类别进行筛选。但是,如果我导航到
blog-posts/create
浏览器只是显示博客文章/索引路径,我无法创建新记录。如果我这样评论第一条路线:
//Route::get('blog-posts/{category_id?}', 'AdminBlogPostsController@index');
Route::resource('blog-posts', 'AdminBlogPostsController');
我可以再次创建博客帖子,但无法过滤视图
您知道如何开始调试吗?尝试在类别路由的末尾添加where条件,如下所示
Route::get('blog-posts/{category_id?}', 'AdminBlogPostsController@index')->where('category_id', '[0-9]+');
基本上,如果url的第二段是数字,这会告诉laravel路由到index方法
查看页面,了解更多的例子。就是这样,我学到了一些新东西。非常感谢你!