*/ final class ReceptionRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Reception::class); } /** * Liste des réceptions validées pour l'export Excel (de la plus récente à la plus ancienne). * * @return list */ public function findValidatedForExport(): array { return $this->createQueryBuilder('r') ->leftJoin('r.supplier', 'supplier')->addSelect('supplier') ->leftJoin('supplier.addresses', 'supplierAddresses')->addSelect('supplierAddresses') ->leftJoin('r.address', 'address')->addSelect('address') ->leftJoin('r.carrier', 'carrier')->addSelect('carrier') ->leftJoin('r.driver', 'driver')->addSelect('driver') ->leftJoin('r.truck', 'truck')->addSelect('truck') ->leftJoin('r.user', 'user')->addSelect('user') ->leftJoin('r.receptionType', 'receptionType')->addSelect('receptionType') ->leftJoin('r.merchandiseType', 'merchandiseType')->addSelect('merchandiseType') ->leftJoin('r.weights', 'weights')->addSelect('weights') ->leftJoin('r.bovines_types', 'bovinesTypes')->addSelect('bovinesTypes') ->leftJoin('bovinesTypes.bovineType', 'bovineType')->addSelect('bovineType') ->leftJoin('r.pelletBuildings', 'pelletBuildings')->addSelect('pelletBuildings') ->leftJoin('pelletBuildings.pelletType', 'pelletType')->addSelect('pelletType') ->leftJoin('pelletBuildings.building', 'pelletBuilding')->addSelect('pelletBuilding') ->where('r.isValid = :valid') ->setParameter('valid', true) ->orderBy('r.receptionDate', 'DESC') ->addOrderBy('r.id', 'DESC') ->getQuery() ->getResult() ; } }