J'ai un tableau comme dans l'exemple. Avec le code que j'ai écrit, j'obtiens une sortie comme dans Output1.
Question: Je demande un service différent de mon application. La réponse est un tableau et il contient des informations d'identifiant. Il y a une fonction de permission () pour le contrôle d'autorisation. La fonction de permission renvoie des privilèges d'utilisateur en tant que true et false. Mais je n'ai pas pu écrire la syntaxe correcte car je n'ai pas pu me souvenir complètement de cette fonction. Lorsque j'utilise mon propre code, je peux extraire les utilisateurs qui ont la permission comme dans le Output1. Mais je veux que les informations de pagination restent dans le tableau. Comme dans le Output2. Quelle méthode devrais-je appliquer?
Ce tableau est un exemple. J'ai juste essayé d'expliquer mon propre problème.
Mon code=>(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];
Réponse brute:
[
"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",
]
]
]
Output1:
[
"content"=>
[
"id"=> 1,
"name"=> "Widget #1",
],
----------------------> Utilisateurs autorisés (id= 1, 3) ici, mais pas de pagination.
[
"id"=> 3,
"name"=> "Widget #3",
]
]
sortie attendue:
[
"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"
]
]
]