Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Здравствуйте!
Необходимо интегрировать сторонний сервис в сайт на laravel. Есть параметры, сохраненные в сессии. Эти параметры необходимо передать в get параметрах, а сторонний сервис сам с ними производит свои действия. Каким образом можно передать параметры из сессии в гет параметр? Есть ли такой функционал?
Как достать параметры из сессии - это понятно, но не могу найти, как добавить параметры в get? Или это надо делать еще в роуте?
Не в сети
Не понятно про "как добавить параметры в get". Покажи код, который этот get посылает.
Изменено AlexeyMezenin (24.04.2017 17:09:04)
Не в сети
Вот функция из контроллера:
public function getDoc(Request $request)
{
$loan = $request->session()->get('loan');
if ($loan != null){
foreach($loan as $kl => $vl){
$request->input($kl, $vl);
}
}
$contact_info = $request->session()->get('contact_info');
if ($contact_info != null){
foreach($contact_info as $kc => $vc){
$request->input($kc, $vc);
}
}
return view('docs/get', [
'doc' => $request->route('doc')
]);
}
В результате в $request->input ничего нет. Да и вообще не знаю, поможет ли это или нет. Делаю первые шаги в laravel.
Вопрос заключается в том, как в контроллере добавить get параметры? До контроллера get параметров нет. Надо их вытащить из сессии и поместить в url. То есть в итоге из url типа http://site.ru/doc/name_doc должно получиться эмуляция строки типа http://site.ru/doc/name_doc?p=0&p1=1&p2=2 и т.п.
Может быть, использовать redirect для этого?
Изменено Konstantin_Matyashevskiy (24.04.2017 17:34:48)
Не в сети
Спасибо, теперь понятно.
Если к контроллеру такой путь надо сделать http://site.ru/doc/name_doc?p=0&p1=1&p2=2, то называешь маршрут как-нибудь, например get-doc:
Route::get('name_doc', ['as' => 'get-doc', 'uses' => 'SomeController@getDoc'])
И используешь помощник route() вот так:
route('get-doc', ['p' => 0, 'p1' => 1, 'p2' => 2])
Потом в самом методе можно ловить GET параметры помощником request:
$p = request('p')
PS: Вместо этой бороды $request->session()->get('contact_info') используй просто session('contact_info')
Изменено AlexeyMezenin (24.04.2017 17:39:29)
Не в сети
Спасибо за быстрый ответ!!!
Бороды начал делать от безысходности, когда ничего не помогало )))
Не в сети
извините за еще один глупый вопрос, не могу найти, как использовать помощника?
route('get-doc', ['p' => 0, 'p1' => 1, 'p2' => 2])
Это что, надо прописывать в контроллере или где?
Не в сети
Хоть где, это глобальный помощник, который создает URL к контроллеру с нужными параметрами. Например, этот код создаст ссылку в представлении:
<a href="{{ route('get-doc', ['p' => 0, 'p1' => 1, 'p2' => 2]) }}">Link to get-doc with params</a>
Изменено AlexeyMezenin (24.04.2017 18:25:15)
Не в сети
Еще раз спасибо!!!
Не в сети