【问题标题】:Passing page URL parameter to controller in Laravel 5.2在 Laravel 5.2 中将页面 URL 参数传递给控制器
【发布时间】:2016-08-29 01:51:47
【问题描述】:
在我的应用程序中,我有一个名为index.blade 的页面,路由为/index。在其 URL 中,它有一些 get 参数,例如 ?order 和 ?type。
我想将这些$_get 参数传递给我的路由控制器操作,从数据库查询并将其结果数据传递给索引页面。我该怎么办?
【问题讨论】:
标签:
laravel
url
controller
routes
laravel-5.2
【解决方案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
等等……