2016-06-23 3 views
0

В моем классе запроса у меня есть код ниже.Проблема при получении строки запроса: Laravel 5.2.37

protected function getValidatorInstance() 
{ 
    $instance = parent::getValidatorInstance(); 
    $instance->after(function ($validator) { 
     $this->CheckRoleExists($validator); 
    }); 
    return $instance; 
} 

public function CheckRoleExists($validator) 
{ 
    dd($_SERVER); 
} 

Я пытаюсь напечатать строку запроса и я получаю ниже.

"QUERY_STRING" => "" 

и Url ниже.

"REQUEST_URI" => "/Learning/public/UpdateRole/1" 

Мой маршрут ниже

Route::put('/UpdateRole/{RoleID}',array('uses' => '[email protected]', 'as' => 'UpdateRole')); 

В приведенном выше URL запроса: 1 Строка запроса. Как мы видим, значение Строка запроса показывает нуль, когда я проверить это, как этот dd($_SERVER);

Пожалуйста, наставит меня, чтобы получить строку запроса правильно

ответ

0

Попробуйте Request::segment(1);

Это должно сделать трюк.

+0

Моя сторона это работает 'Request :: segment (2);' для этого. Но есть ли способ, который не работает? – Pankaj

+0

Да, это должно быть 'Request :: segemnt (2);'. На самом деле это не работает. Laravel использует это внутри, чтобы получить сегменты запроса. – z3r0ck

0

Вы можете получить доступ к query, сделав следующее, я считаю. Не полностью протестированы. Добавить в ваш getValidatorInstance() метод:

protected function getValidatorInstance() 
{ 
    $instance = parent::getValidatorInstance(); 
    $instance->after(function ($validator) { 
     $this->CheckRoleExists($validator); 
    }); 

    // this here: 
    return $this->query(); // or $this->all() 

    ... 
} 
Смежные вопросы