Метод query
Метод query применяется к объекту запроса и возвращает массив всех параметров строки запроса или конкретное значение по ключу. Первым параметром передаётся ключ параметра, вторым - значение по умолчанию, если параметр отсутствует. Если ключ не указан, метод возвращает все параметры запроса.
Синтаксис
<?php
$request->query($key, $default);
?>
Пример
Давайте получим все параметры строки запроса из текущего URL:
<?php
use Illuminate\Http\Request;
Route::get('/profile', function (Request $request) {
$res = $request->query();
foreach ($res as $key => $value) {
echo $key . ': ' . $value;
}
});
?>
Результат выполнения кода при обращении к URL /profile?name=John&age=30:
"name: John"
"age: 30"
Пример
Давайте получим конкретный параметр 'page' из строки запроса:
<?php
use Illuminate\Http\Request;
Route::get('/products', function (Request $request) {
$page = $request->query('page');
echo 'Current page: ' . $page;
});
?>
Результат выполнения кода при обращении к URL /products?page=2:
"Current page: 2"
Пример
Давайте получим параметр со значением по умолчанию, если параметр отсутствует:
<?php
use Illuminate\Http\Request;
Route::get('/search', function (Request $request) {
$search = $request->query('q', 'default');
echo 'Search query: ' . $search;
});
?>
Результат выполнения кода при обращении к URL /search (без параметра q):
"Search query: default"
Пример
Давайте проверим наличие параметра 'page' перед его получением:
<?php
use Illuminate\Http\Request;
Route::get('/posts', function (Request $request) {
if ($request->has('page')) {
$page = $request->query('page');
echo 'Page parameter exists with value: ' . $page;
} else {
echo 'Page parameter not found';
}
});
?>
Результат выполнения кода при обращении к URL /posts?page=5:
"Page parameter exists with value: 5"