Сделать запрос (передать данные) из командного файла в контроллер в Lumen / Laravel - PullRequest
0 голосов
/ 14 июля 2020

я получаю данные (запрос) в командном файле и хочу передать контроллеру через API (маршрут)

здесь мой код запроса в командном файле:

$request = Request::create('/create_data_account', 'post', ['data'=>$data]);
$create = $app->dispatch($request);

это маршрут :

$router->post('/create_data_account', 'APIController@create_account_data_api');

и мой контроллер:

 public function create_account_data_api(Request $request)
    {
        $count = 0;
        foreach ($data as $key => $value) {
            $insert = Account::create([
                                'account_name'  => $value->account_name,
                                'type'          => $value->type,
                                'role_id'       => $value->role_id
                            ]);
            if($insert){
                $count++;
            }else{
                return $response = ['result'=>false, 'count'=>$count, 'message'=>'Internal error. Failed to save data.']; 
            }
        }
        return $response = ['result'=>true, 'count'=>$count, 'message'=>'Account data saved Successfully'];
    }

Я не понимаю, почему передача данных контроллеру не работает с этим кодом. кто-нибудь может дать мне решение? Спасибо

1 Ответ

0 голосов
/ 15 июля 2020

Поскольку вы делаете запрос с помощью ['data'=>$data]. Это означает, что все данные содержатся в ключе data вашего массива. Итак, перед foreach l oop вам нужно добавить оператор объявления $data = $request->input('data');, чтобы получить данные в $data переменной.

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