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;
}
}
/** * 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; }