Loading src/UnicaenEtat/Entity/Db/HasEtatsInterface.php +1 −0 Original line number Diff line number Diff line Loading @@ -16,5 +16,6 @@ interface HasEtatsInterface { public function removeEtat(EtatInstance $etat): void; public function clearEtats(): void; static public function decorateWithEtats(QueryBuilder $qb, string $entityName, array $etats = []) : QueryBuilder; static public function decorateWithEtatsCodes(QueryBuilder $qb, string $entityName, array $etats = []) : QueryBuilder; } No newline at end of file src/UnicaenEtat/Entity/Db/HasEtatsTrait.php +15 −0 Original line number Diff line number Diff line Loading @@ -82,4 +82,19 @@ trait HasEtatsTrait { } return $qb; } static public function decorateWithEtatsCodes(QueryBuilder $qb, string $entityName, array $etats = []) : QueryBuilder { $qb = $qb ->leftJoin($entityName . '.etats', 'etat')->addSelect('etat') ->leftJoin('etat.type', 'type')->addSelect('type') ->andWhere('etat.histoDestruction IS NULL') ; if (!empty($etats)) { $qb = $qb->andWhere('type.code in (:etats)') ->setParameter('etats', $etats); } return $qb; } } No newline at end of file Loading
src/UnicaenEtat/Entity/Db/HasEtatsInterface.php +1 −0 Original line number Diff line number Diff line Loading @@ -16,5 +16,6 @@ interface HasEtatsInterface { public function removeEtat(EtatInstance $etat): void; public function clearEtats(): void; static public function decorateWithEtats(QueryBuilder $qb, string $entityName, array $etats = []) : QueryBuilder; static public function decorateWithEtatsCodes(QueryBuilder $qb, string $entityName, array $etats = []) : QueryBuilder; } No newline at end of file
src/UnicaenEtat/Entity/Db/HasEtatsTrait.php +15 −0 Original line number Diff line number Diff line Loading @@ -82,4 +82,19 @@ trait HasEtatsTrait { } return $qb; } static public function decorateWithEtatsCodes(QueryBuilder $qb, string $entityName, array $etats = []) : QueryBuilder { $qb = $qb ->leftJoin($entityName . '.etats', 'etat')->addSelect('etat') ->leftJoin('etat.type', 'type')->addSelect('type') ->andWhere('etat.histoDestruction IS NULL') ; if (!empty($etats)) { $qb = $qb->andWhere('type.code in (:etats)') ->setParameter('etats', $etats); } return $qb; } } No newline at end of file