Sulu\Bundle\ContactBundle\Entity\AccountRepository::findByFilter PHP Method

findByFilter() public method

public findByFilter ( array $filter )
$filter array
    public function findByFilter(array $filter)
    {
        try {
            $qb = $this->createQueryBuilder('account');
            foreach ($filter as $key => $value) {
                switch ($key) {
                    case 'id':
                        $qb->where('account.id IN (:ids)');
                        $qb->setParameter('ids', $value);
                        break;
                }
            }
            $query = $qb->getQuery();
            return $query->getResult();
        } catch (NoResultException $ex) {
            return;
        }
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Returns all accounts.
  *
  * @param $locale
  * @param null $filter
  *
  * @return array|null
  */
 public function findAll($locale, $filter = null)
 {
     if ($filter) {
         $accountEntities = $this->accountRepository->findByFilter($filter);
     } else {
         $accountEntities = $this->accountRepository->findAll();
     }
     if (!empty($accountEntities)) {
         $accounts = [];
         foreach ($accountEntities as $account) {
             $accounts[] = $this->accountFactory->createApiEntity($account, $locale);
         }
         return $accounts;
     }
     return;
 }