在 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】:

如果您想访问从getpost 发送的数据请求使用

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 5.2 中将数据存储到数据库中

如何在Laravel应用程序中将登录行为从/ login URL移动到我的主页?

laravel 5.2 分页链接中添加随机字符

如何在 laravel 5.2 中从 url 中删除 public

如何在 Laravel 中将变量从视图传递到控制器而不使用 URL 或表单

使用 Blade 在 Laravel 5 中获取当前 URL 的最后一部分