Bonjour,

j'utilise API platform pour faire des requêtes et j'ai un contrôleur personnalisé pour une collectionOpération:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
collectionOperations: [
        'get' ,
        'post' => [
            'path' => 'animals/{id}/image',
            'deserialize' =>false,
            'controller' => AnimalImageController::class,
            'openapi_context' => [
                'requestBody' => [
                    'content' => [
                        'multipart/form-data' => [
                            'schema' => [
                                'type' => 'object',
                                'properties' => [
                                    'file' => [
                                        'type' => 'string',
                                        'format' => 'binary',
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
        ]
    ]

mon contôleur:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class AnimalImageController
{
 
    public function __invoke(Animal $animal, Request $request): ImageAnimal
    {  
        $image = new ImageAnimal();
        $featured = $request->request->get('featured') === "false" ? 0 : 1;
        $uploadFile = $request->files->get('file');
        $image->setAnimal($animal);
        $image->setFeatured($featured);
        $image->setImageFile($uploadFile);
        return $image;
    }
}

En résumé: je peux mettre dans une table plusieurs images pour un même animal.
Lorsque je rajoute une image, je demande si elle doit être mise en avant dans la liste des animaux qui s'affiche.
Si elle devient la nouvelle image mise en avant, il faut chercher dans la table ( ImageAnimal ) s'il y en a pas déjà une et mettre son featured à 0

Mon problème vient du fait que j'ai besoin pour cela de récupérer toutes les images pour l'animal en question et ensuite chercher s'il y une featured .
Mon petit niveau ne me permet pas de trouver le moyen d'injecter le ImageAnimalRepository.
Comment dans cette situation récupérer la liste d'images pour un animal, dans un premier temps ?

Merci,

Laurent