【问题标题】:Laravel request parametersLaravel 请求参数
【发布时间】:2021-06-24 06:02:34
【问题描述】:

我正在尝试验证 Laravel 确实将我的请求参数发布到路由,所以我在 web php 中有一个路由:

Route::get('/signup', "SignupController@index");

该路由在/Http/Controllers 中为其创建了相应的控制器

class SignupController extends Controller
{
    //
    function index()
    {
        dd( $request->all() );
    }
}

但是,当我访问 localhost:8000/signup?uid=id 时,$request->all() 显示为空。我做错了什么,如何在 Laravel 中接收查询参数?

附:我知道注册页面应该使用 POST 并且一旦我有这个工作就会从 GET 切换到 POST

【问题讨论】:

  • @brombeer 没有骰子
  • 别忘了导入请求。 use Illuminate\Http\Request;
  • 你的 $request 是一个未声明的变量。没有触发异常,因为它在 dd() 方法中。
  • public function index(Illuminate\Http\Request, $request)

标签: laravel request


【解决方案1】:

您需要将请求注入方法中。

use Illuminate\Http\Request;

class SignupController extends Controller
{
    //
    function index(Request $request)
    {
        dd( $request->all() );
    }
}

或者使用助手

class SignupController extends Controller
{
    //
    function index()
    {
        dd( request()->all() );
    }
}

【讨论】:

    【解决方案2】:

    检索查询参数的首选方法是

      public function index(Request $request)
            {
        if( $request->has('uid') ) {
            $request->query('uid');
        
        }
    }
    

    如果您无权访问 $request,则使用帮助函数

    public function index()
        {    request()->query('uid');
            dd(request()->all());
        }
    

    【讨论】:

      猜你喜欢
      • 2016-06-22
      • 2020-06-26
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 2017-09-02
      • 2016-04-01
      • 1970-01-01
      • 2019-04-04
      相关资源
      最近更新 更多