У меня есть этот маршрут:
Route::post('/apns/v1/devices/{device_token}/registrations/{pass_identifier}/{pass_serial}', 'ApiController@registrations');
Как я могу получить значения device_token, pass_identifier и pass_serial и сохранить их в переменной в моем контроллере?
Например:
POST /v1/devices/3252362643/registrations/passtype.test/4312
я хочу получить значение 3252362643
, passtype.test
а также 4312
,
сохранить их в переменных в контроллере laravel.
Вы можете получить параметры маршрута, используя request()
помощник:
$device_token = request()->route()->parameter('device_token')
$pass_identifier = request()->route()->parameter('pass_identifier')
$pass_serial = request()->route()->parameter('pass_serial')
В контроллере:
public function registrations($device_token, $pass_identifier, $pass_serial)
{
//insert to DB
$data = new User; //your model
$data->device_token= $device_token;
$data->pass_identifier= $pass_identifier;
$data->pass_serial= $pass_serial;
$data->save();
}
Следуйте методам «Илья Яремчук» и «BTL» … это альтернативный метод
В этом случае вы можете получить эти значения из $ ss, $ ss1, $ ss2
**Add this in your laravel controller**$url = 'POST /v1/devices/3252362643/registrations/passtype.test/4312';
$names = explode('/', $url);
if (!empty($names)) {
$ss = $names[3];
$ss1 = $names[5];
$ss2 = $names[6];
}
или попробуйте это
$names = explode('/', $_SERVER['REQUEST_URI']);
if (!empty($names)) {
$ss = $names[3];
$ss1 = $names[5];
$ss1 = $names[6];
}