예제 #1
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     // Chargement de la configuration
     $configurationLoader = $this->container->get('comptes_bundle.configuration.loader');
     $fixturesConfiguration = $configurationLoader->load('fixtures.yml');
     // Tableau de données
     $comptesContent = $fixturesConfiguration['comptes'];
     foreach ($comptesContent as $compteContent) {
         $compte = new Compte();
         // Dates d'ouverture et de fermeture
         $dateOuverture = new \DateTime();
         $dateOuverture->setTimestamp($compteContent['date_ouverture']);
         $dateFermeture = new \DateTime();
         $dateFermeture->setTimestamp($compteContent['date_fermeture']);
         $compte->setNom($compteContent['nom']);
         $compte->setNumero($compteContent['numero']);
         $compte->setBanque($compteContent['banque']);
         $compte->setPlafond($compteContent['plafond']);
         $compte->setSoldeInitial($compteContent['solde_initial']);
         $compte->setDateOuverture($dateOuverture);
         $compte->setDateFermeture($dateFermeture);
         $compte->setRang($compteContent['rang']);
         $manager->persist($compte);
     }
     $manager->flush();
 }
예제 #2
0
 /**
  * Récupère les mouvements d'un compte entre deux dates.
  *
  * @param Compte    $compte    Le compte bancaire.
  * @param \DateTime $dateStart Date de début, incluse.
  * @param \DateTime $dateEnd   Date de fin, incluse.
  * @param string    $order     'ASC' (par défaut) ou 'DESC'.
  *
  * @return \Doctrine\Common\Collections\ArrayCollection
  */
 public function findByCompteAndDate(Compte $compte, \DateTime $dateStart, \DateTime $dateEnd, $order = 'ASC')
 {
     $queryBuilder = $this->createQueryBuilder('m');
     $expressionBuilder = $this->getEntityManager()->getExpressionBuilder();
     $compteID = $compte->getId();
     $and = $expressionBuilder->andX();
     $and->add($queryBuilder->expr()->eq('m.compte', ':compte_id'));
     $and->add($expressionBuilder->gte('m.date', ':date_start'));
     $and->add($expressionBuilder->lte('m.date', ':date_end'));
     $queryBuilder->where($and)->setParameter('compte_id', $compteID)->setParameter('date_start', $dateStart)->setParameter('date_end', $dateEnd)->orderBy('m.date', $order);
     $mouvements = $queryBuilder->getQuery()->getResult();
     return $mouvements;
 }