Php 拉威尔:如何将GET数组传递给控制器?
如何将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
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];