public function searchAuthors($query, $sort = array())
{
$em = $this->getEntityManager();
$qb = $em->getRepository('Newscoop\\Entity\\Author')->createQueryBuilder('a');
$orX = $qb->expr()->orx();
$orX->add($qb->expr()->like('a.first_name', $qb->expr()->literal("%{$query}%")));
$orX->add($qb->expr()->like('a.last_name', $qb->expr()->literal("%{$query}%")));
$qb->andWhere($orX);
if (!empty($sort) && is_array($sort)) {
foreach ($sort as $sortColumn => $sortDir) {
$qb->addOrderBy('a.' . $sortColumn, $sortDir);
}
}
return $qb->getQuery();
}