Php 拉威尔:如何将GET数组传递给控制器?

Php 拉威尔:如何将GET数组传递给控制器?,php,laravel,routes,get,controller,Php,Laravel,Routes,Get,Controller,如何将GET参数数组传递给控制器 这是我的路线文件routes/web.php: <?php use Illuminate\Support\Facades\Route; use GuzzleHttp\Client; Route::get('/ids', 'Parser@getIds'); 但如果我将GET数组传递给我的路由路径:http://example.com/ids?ids[]=1&ID[]=2&ID[]=15&ID[]=25 我仍然得到一个空的请求对象: {“attribute

如何将GET参数数组传递给控制器

这是我的路线文件
routes/web.php

<?php
use Illuminate\Support\Facades\Route;
use GuzzleHttp\Client;

Route::get('/ids', 'Parser@getIds');
但如果我将GET数组传递给我的路由路径:
http://example.com/ids?ids[]=1&ID[]=2&ID[]=15&ID[]=25

我仍然得到一个空的请求对象:


{“attributes”:{},“request”:{},“query”:{},“server”:{},“files”:{},“cookies”:{},“headers”:{}

从get获取数据的方法很少。 试试这样:

$ids=request('ids',[]);//全局辅助对象,默认为空数组
或:

$ids=$request->input('ids',[]);//通过请求的注入实例

您可以获得的更多信息

这是正确的,但更具体地说,应该是
request()->query('id')请求
,请使用code>或
$request->query('id')
。您还可以传递默认值<代码>查询('ids',[])
请求('ids')也可以工作,但最好传递一个默认值。在这种情况下会有帮助的。非常感谢<代码>$ids=请求('ids',[])工作正常。响应良好。json方法返回一个数组编码为json。如果你想的话,只需返回响应即可。您可以这样做:
返回$request
这是您要求的返回。我对您的示例进行了编码,它运行正常,没有任何错误,或者结果与预期一致。@MAY非常感谢您的帮助。我不知道为什么,但我在json响应中有一个空的
'request:{}'
对象,正如我前面所述。然后,
$ids=request('ids',[])对我来说很好。
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class Parser extends Controller
{
  public function getIds(Request $request) {
    return response()->json($request); // ???
  } 
}
$ids = [1,2,15,25];