Newscoop\Image\ImageSearchService::find PHP Method

find() public method

Perform a query
public find ( string $query, $criteria = null, $sort = null, $paging = null, &$count = null, $queryOnly = false ) : array
$query string
return array
    public function find($query, $criteria = null, $sort = null, $paging = null, &$count = null, $queryOnly = false)
    {
        $qb = $this->orm->getRepository('Newscoop\\Image\\LocalImage')->createQueryBuilder('i');
        $andX = $qb->expr()->andX();
        if (is_numeric($query)) {
            $andX->add($qb->expr()->eq('i.user', $query));
        } else {
            $andX->add($qb->expr()->like('i.description', $qb->expr()->literal("%{$query}%")));
        }
        if (!empty($andX)) {
            $qb->andWhere($andX);
        }
        if (is_array($criteria) && isset($criteria['source']) && is_array($criteria['source']) && !empty($criteria['source'])) {
            $orX = $qb->expr()->orx();
            foreach ($criteria['source'] as $oneSource) {
                $orX->add($qb->expr()->eq('i.source', $qb->expr()->literal($oneSource)));
            }
            $qb->andWhere($orX);
        }
        if (is_array($criteria) && isset($criteria['user']) && !empty($criteria['user'])) {
            $andX->add($qb->expr()->eq('i.user', $criteria['user']));
        }
        if (!empty($sort) && is_array($sort)) {
            foreach ($sort as $sortColumn => $sortDir) {
                $qb->addOrderBy('i.' . $sortColumn, $sortDir);
            }
        }
        if ($queryOnly) {
            return $qb->getQuery();
        }
        if (!empty($paging) && is_array($paging)) {
            if (isset($paging['length'])) {
                $qb->setMaxResults(0 + $paging['length']);
            }
            if (isset($paging['offset'])) {
                $qb->setFirstResult(0 + $paging['offset']);
            }
        }
        return $qb->getQuery()->getResult();
    }
ImageSearchService