createQueryBuilder('Action') ->andWhere('Action.event LIKE :eventName')->setParameter('eventName', "%{$eventName}%") ->andWhere('Action.objectClass = :objectClass')->setParameter('objectClass', $objectClass) ; return $qb->getQuery()->getResult(); } /** * @param string $eventName * @param string $workflowName * @param string $eventReference * @param string $objectClass * * @return array */ public function findAllByEventAndWorkflowName($eventName, $workflowName, $eventReference, $objectClass = null) { $qb = $this->createQueryBuilder('Action') ->andWhere('Action.event LIKE :eventName')->setParameter('eventName', "%{$eventName}%") ->andWhere('Action.workflowName = :workflowName')->setParameter('workflowName', $workflowName) ->andWhere('Action.eventReference = :eventReference')->setParameter('eventReference', $eventReference) ; if ($objectClass) { $qb->andWhere('Action.objectClass = :objectClass')->setParameter('objectClass', $objectClass); } return $qb->getQuery()->getResult(); } }