Метод query
Метод query класса Arr преобразует ассоциативный массив в строку запроса для URL. Он автоматически обрабатывает вложенные массивы, преобразуя их в формат с квадратными скобками. Первым параметром передаётся массив данных, вторым - строка префикса (необязательный параметр). Метод возвращает строку, готовую для добавления к URL после знака вопроса.
Синтаксис
<?php
Arr::query($array, $prefix);
?>
Пример
Давайте преобразуем простой ассоциативный массив в строку запроса:
<?php
use Illuminate\Support\Arr;
$params = ['page' => 1, 'limit' => 10, 'sort' => 'asc'];
$query = Arr::query($params);
echo $query;
?>
Результат выполнения кода:
"page=1&limit=10&sort=asc"
Пример
Давайте обработаем массив с вложенными значениями:
<?php
use Illuminate\Support\Arr;
$params = [
'filters' => [
'status' => 'active',
'category' => 'tech'
],
'sort' => 'desc'
];
$query = Arr::query($params);
echo $query;
?>
Результат выполнения кода:
"filters[status]=active&filters[category]=tech&sort=desc"
Пример
Давайте используем второй параметр для добавления префикса:
<?php
use Illuminate\Support\Arr;
$params = ['id' => 5, 'name' => 'article'];
$query = Arr::query($params, 'search');
echo $query;
?>
Результат выполнения кода:
"search[id]=5&search[name]=article"
Пример
Давайте обработаем массив с несколькими уровнями вложенности:
<?php
use Illuminate\Support\Arr;
$params = [
'search' => [
'name' => 'article',
'meta' => [
'created_at' => '2026-09-08',
'views' => 150
]
],
'limit' => 20
];
$query = Arr::query($params);
echo $query;
?>
Результат выполнения кода:
"search[name]=article&search[meta][created_at]=2026-09-08&search[meta][views]=150&limit=20"