Bonsoir,

Il est impossible d'appeler plusieurs entity dans le même repository

mais je voudrais vos conseils pour mon problème suivant :

J'ai 3 entity Annonce, Animal et Espece

J'ai créé une entity Search pour travailler un filtre de mes annonces.

Comme vous pouvez le supposer, dans mon annonce j'ai des informations propre à elle-même mais aussi j'ai fais appel à une relation avec Animal

qui cette dernière est aussi en relation avec Espece.

Donc par la suite, j'ai créé un form de Search qui s'injecte dans une route du Controller Annonce et du coup mes filtres sont dans le Repository Annonce

j'ai pu faire des filtres sur les infos de l'entity annonce, mais je ne peux informer les champs de ma class Animal

public function findAllWithPagination(Search $search) : Query{
    $req = $this->createQueryBuilder('a');

    if($search->getMinDate()){
        $req = $req->andWhere('a.dateStart >= :min')
                   ->setParameter(':min', $search->getMinDate());
    }

    if($search->getMaxDate()){
        $req = $req->andWhere('a.dateEnd <= :max')
                   ->setParameter(':max', $search->getMaxDate());
    }

    if($search->getSexe()){
        $req = $req
                    ->select('animalEntity.sexe AS animal')
                    ->leftJoin('a.animal', 'animalEntity')
                    ->andWhere('a.animal = :max')
                    ->setParameter(':max', $search->getSexe());
    }

    return $req->getQuery();
}

(pour info : createQueryBuilder('a') le "a" pour annonce)

Je voudrais pour commencer savoir si tout se passe uniquement sur le repository ?

Pour le moment je recherche à proposer le choix du sexe donc dans le form Search j'ai mis :

->add('sexe', EntityType::class,[
                'class' => Animal::class,
                'required' => false,
                'choice_label' => 'sexe'
            ])

l'erreur retournée est :

[Semantical Error] line 0, col 147 near 'animal = :ma': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
Pourriez-vous me donner des conseils ou des pistes svp

Merci

1 réponse


Welcome to the KFC Guest Experience Survey. We esteem your authentic criticism and value you setting aside the effort to finish our study. Visit: mykfc