src/Entrepreneurs/Bundle/AppBundle/Propel/ReseauQuery.php line 8

Open in your IDE?
  1. <?php
  2. namespace Entrepreneurs\Bundle\AppBundle\Propel;
  3. use Entrepreneurs\Bundle\AppBundle\Propel\Base\ReseauQuery as BaseReseauQuery;
  4. use Propel\Runtime\ActiveQuery\Criteria;
  5. class ReseauQuery extends BaseReseauQuery
  6. {
  7.     public function filterBySelectedIdsFirst(array $ids): self
  8.     {
  9.         return
  10.             $this->filterById($ids)
  11.                 ->_or()
  12.                 ->filterByNom('A%'Criteria::LIKE)
  13.         ;
  14.     }
  15.     public function orderByNbEntrepreneur($order Criteria::ASC)
  16.     {
  17.         return $this
  18.             ->withColumn('(
  19.                 SELECT count(*) 
  20.                 FROM entrepreneur_reseau 
  21.                 LEFT JOIN entrepreneur ON entrepreneur_reseau.entrepreneur_id = entrepreneur.id
  22.                 WHERE entrepreneur.statut_id IN ('.join(', 'EntrepreneurStatut::getActiveStatus()).') AND reseau_id = reseau.id)''NbEntrepreneur')
  23.             ->orderBy('NbEntrepreneur'$order);
  24.     }
  25.     public function countNbEntrepreneur(Reseau $reseau): int
  26.     {
  27.         return EntrepreneurQuery::create()
  28.             ->filterByReseau($reseau)
  29.             ->filterByStatutId(EntrepreneurStatut::getActiveStatus(), Criteria::IN)
  30.             ->count();
  31.     }
  32. }