Как добавить что-то в $ request для другого контроллера на Laravel - PullRequest
0 голосов
/ 17 ноября 2018

Laravel 5.6

web.php

Route::get('edit/{city}/{id}/{news}', 'Controller@edit');

Контроллер

public function edit_point_edit($city,$id,$news)
{

/* $request=collect(); */
/* try 1 */
        $request->request->add(['city' => $city,'id' => $id,'news' => $news]);
/* try 2 */       
        $request->merge(['city' => $city,'id' => $id,'news' => $news]);


      $test = App::call(Controller::class . '@test',[
              'Request' => $request,
            ]);
}

Я получил сообщение об ошибке de Неопределенная переменная: запрос 」Но у меня было「 использовать Illuminate \ Http \ Request; 」почему яполучено сообщение об ошибке?

Нужно ли сначала объявлять тип $ request?Как я могу объявить тип запроса $?

$request=collect(); -->fail  can pass but cannot send key value to next controller
$request=array();  ->error code 
Trying to get property 'request' of non-object


$request = new stdClass();
$request = (object)[];
=>error code   
Undefined property: stdClass::$request

1 Ответ

0 голосов
/ 17 ноября 2018

Почему бы вам не переместить метод из «другого контроллера» в службу, внедрить эту службу в обоих контроллерах и вызвать метод службы в обоих местах?Я предполагаю, что цель здесь состоит в том, чтобы повторно использовать метод «другого контроллера».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...