Laravel: не могу добавить параметры к запросу

Я тестирую свой API, поэтому хочу создавать запросы, но не могу заставить работать параметры. Все, что я делаю, это добавляю параметр с Hello, указывающим на World, но Hello возвращает NULL, когда я пытаюсь получить этот параметр. Чего не хватает? Вот код:

//This is routes.php:
<?php
Route::get('/testapi', 'TestController@testapi');
Route::get('/json/locations', 'APILocationController@getForUser');
?>//This is TestController.php:
<?php

class TestController extends \BaseController {
public function testapi() {
echo 'Create the request';
echo '<br>';
$request = Request::create('/json/locations', 'GET', array('Hello' => 'World'));
return Route::dispatch($request)->getContent();
}
}
?>//This is APILocationController.php:
<?php

class APILocationController extends \BaseController {
public function getForUser() {
echo var_dump(Request::get('Hello'));
echo '<br>';
return Response::json(array('message' => 'Index all locations based on User'), 200);
}
}
?>

//This is the output:
Create the request
NULL
{"message":"Index all locations based on User"}

// Как это «NULL»?

2

Решение

Добавление «Request :: replace ($ request-> input ());» решил мою проблему, я понятия не имею, почему:

    $request = Request::create('/json/locations', 'GET', array('Hello' => 'World'));
Request::replace($request->input());
return Route::dispatch($request)->getContent();

Во всяком случае, это работает сейчас. Забыл обновить вопрос здесь.

3

Другие решения

Чтобы получить параметры GET или POST в Laravel, вы должны использовать вход.

<?php

class APILocationController extends \BaseController {
public function getForUser() {
echo var_dump(Input::get('Hello'));
echo '<br>';
return Response::json(array('message' => 'Index all locations based on User'), 200);
}
}
-1

По вопросам рекламы [email protected]