У меня есть массив, как в примере. С кодом, который я написал, я получаю вывод как в Output1 .
Вопрос: Я запрашиваю услугу, отличную от моего собственного приложения. Ответ является массивом и содержит информацию об идентификаторе. Существует разрешение () для контроля авторизации. Функция разрешения возвращает пользовательские привилегии как true и false. Но я не мог написать правильный синтаксис, потому что я не мог запомнить эту функцию полностью. Когда я использую свой собственный код, я могу получить пользователей, которые имеют разрешение, как в output1. Но я хочу, чтобы информация о нумерации страниц оставалась в массиве. Как в Output2. Какой метод я должен применить?
Этот массив является примером. Я просто попытался объяснить свою собственную проблему.
Мой код => (Laravel 5.8)
$response = ….get(url)………
$list = $response->getBody()[‘content’];
$collection = collect($list);
$filtered = $collection->filter(function ($item) [
return auth()->user->permission($item['id'])
]);
Return [‘content’ => $filtered];
Необработанный ответ:
[
"paginate"=>
[
"page"=> 5,
"per_page"=> 20,
"page_count"=> 20,
"total_count"=> 521,
"Links"=> [
["self"=> "/products?page=5&per_page=20"],
["first"=> "/products?page=0&per_page=20"],
]
],
"content"=> [
[
"id"=> 1,
"name"=> "Widget #1",
],
[
"id"=> 2,
"name"=> "Widget #2",
],
[
"id"=> 3,
"name"=> "Widget #3",
]
]
]
Вывод1:
[
"content"=>
[
"id"=> 1,
"name"=> "Widget #1",
],
----------------------> Authorized users(id= 1, 3) here, but no pagination.
[
"id"=> 3,
"name"=> "Widget #3",
]
]
ожидаемый результат:
[
"paginate"=>
[
"page"=> 5,
"per_page"=> 20,
"page_count"=> 20,
"total_count"=> 521,
"Links"=> [
["self"=> "/products?page=5&per_page=20"],
["first"=> "/products?page=0&per_page=20"],
]
],
"content"=> [
[
"id"=> 1,
"name"=> "Widget #1",
"uri"=> "/products/1"
],
[
"id"=> 3,
"name"=> "Widget #3",
"uri"=> "/products/3"
]
]
]