Laravel: 如何将 GET 数组传递给控制器​​?

Laravel: how to pass GET array to controller?

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

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

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

Route::get('/ids', 'Parser@getIds');

还有我的控制器'app/Http/Controllers/Parser.php':

<?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];

但是如果我将 GET 数组传递到我的路由路径:http://example.com/ids?ids[]=1&ids[]=2&ids[]=15&ids[]=25

无论如何我得到一个空的请求对象:

{"attributes":{},"request":{},"query":{},"server":{},"files":{},"cookies":{},"headers":{}}

从 GET 获取数据的方法很少。 尝试这样的事情:

$ids = request('ids', []); // global helper, empty array as default

或:

$ids = $request->input('ids', []); // via injected instance of Request

您可以获得更多信息in documentation