我需要向方法资源路由发送数据
示例:
Route::get('post/{post_type}', 'PostController@index')->where('post_type', '[A-Za-z]+');
但是我不知道如何在资源路由中做到这一点
Route::resource('post', 'PostController');
在通过链接发送数据时
{{route('post.index',['post_type'=>'news'])}}
URL中显示什么:
http://127.0.0.1:8000/admin/post?post_type=news
但是我需要的是
http://127.0.0.1:8000/admin/post/news
我试图解决这个问题:
Route::resource('post', 'PostController',['parameters'=>['post'=>'post_type']]);
但这只会更改URL资源:
来自:admin/post
发送至:admin/post_type
我也很难通过index方法获取此数据:
为此,我采取了以下行动:
public function index($post_type)
{
return $post_type;
}
感谢您的帮助
答案 0 :(得分:1)
据我对Resource Controllers
的了解,您只有7 fixed URI`s
可以使用您的资源。
因此,如果您正在调用index
方法,则它具有标准的URI /post
。您不能将其更改为/post/anything
。
您应该在URI posts
中使用资源的复数版本。
Route::resource('posts', 'PostController');
因此您无法从index
网址访问http://127.0.0.1:8000/admin/post/news
方法。