createQueryBuilder('Action') ->andWhere('Action.event LIKE :eventName') ->setParameter('eventName', "%{$eventName}%") ->andWhere('Action.objectClass LIKE :objectClass') ->setParameter('objectClass', str_replace('\\', '\\\\', $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(); } /** * @param string $workflowName Nombre del workflow * @param string $event Nombre del event * * @return array */ public function findByWorkflowAndEventRef($workflowName, $event) { $qb = $this->createQueryBuilder('Action') ->andWhere('Action.workflowName LIKE :workflowName') ->setParameter('workflowName', "%{$workflowName}%") ->andWhere('Action.eventReference = :eventReference') ->setParameter('eventReference', $eventReference) ; return $qb->getQuery()->getResult(); } }