Programming Language PHP

Namespace Oro\Component\DoctrineUtils\ORM

Class QueryBuilderUtil

Method/Function applyOptimizedIn

Total Examples 2

2 code examples of PHP Oro\Component\DoctrineUtils\ORM\QueryBuilderUtil::applyOptimizedIn extracted from open source projects

Was this example useful?
0
                                                    /**
     * @param int[] $roleIds
     *
     * @return int[]
     */
    protected function getUserOwnerIdsByRoles(array $roleIds): array
    {
        if (!$roleIds) {
            return [];
        }

        $qb = $this->registry->getRepository('OroUserBundle:User')
            ->createQueryBuilder('u')
            ->select('DISTINCT(u.id)')
            ->join('u.userRoles', 'r');
        QueryBuilderUtil::applyOptimizedIn($qb, 'r.id', $roleIds);

        $result = array_map('current', $qb->getQuery()->getResult());
        if (empty($result)) {
            $result = [0];
        }

        return $result;
    }
                                            
Was this example useful?
0
                                                    public function getList(): array
    {
        $businessUnitRepo = $this->getBusinessUnitRepo();

        $qb = $businessUnitRepo->getQueryBuilder();
        $qb
            ->select('businessUnit.id')
            ->addSelect('o.id AS owner_id')
            ->leftJoin('businessUnit.owner', 'o')
            ->orderBy('businessUnit.id', 'ASC');
        $this->addBusinessUnitName($qb);
        QueryBuilderUtil::applyOptimizedIn($qb, 'businessUnit.id', $this->getBusinessUnitIds());

        return $this->aclHelper->apply($qb)->getArrayResult();
    }