在 Laravel 5.2 中将页面 URL 参数传递给控制器
Posted
技术标签:
【中文标题】在 Laravel 5.2 中将页面 URL 参数传递给控制器【英文标题】:Passing page URL parameter to controller in Laravel 5.2 【发布时间】:2016-08-29 01:51:47 【问题描述】:在我的应用程序中,我有一个名为index.blade
的页面,路由为/index
。在其 URL 中,它有一些 get
参数,例如 ?order
和 ?type
。
我想将这些$_get
参数传递给我的路由控制器操作,从数据库查询并将其结果数据传递给索引页面。我该怎么办?
【问题讨论】:
请告诉我们您尝试过的解决方案并分享 @Abbasi 解决方案在此评论下 :) 【参考方案1】:如果您想访问从get
或post
发送的数据请求使用
public function store(Request $request)
$order = $request->input('order');
$type = $request->input('type');
return view('whatever')->with('order', $order)->with('type', $type);
您也可以使用通配符。
示例链接
website.dev/user/potato
路线
Route::put('user/name', 'UserController@show');
控制器
public function update($name)
User::where('name', $name)->first();
return view('test')->with('user', $user);
查看 Laravel 文档Requests。
【讨论】:
【参考方案2】:对于那些需要将部分 url 作为参数传递的人(在 laravel 6.x 中测试,也许它适用于 laravel 5.x):
路线
Route::get('foo/bar', 'FooController@getFoo')->where('bar', '(.*)');
控制器:
class FooController extends Controller
public function getFoo($url)
return $url;
测试 1:
localhost/api/foo/path1/path2/file.gif
将发送到控制器并返回:
path1/path2/file.gif
测试 2:
localhost/api/foo/path1/path2/path3/file.doc
将发送到控制器并返回:
path1/path2/path3/file.doc
等等……
【讨论】:
以上是关于在 Laravel 5.2 中将页面 URL 参数传递给控制器的主要内容,如果未能解决你的问题,请参考以下文章
如何在Laravel应用程序中将登录行为从/ login URL移动到我的主页?
如何在 laravel 5.2 中从 url 中删除 public