/** * Returns number of steps before given one (given one is also count) * * @param Calculus\BaranekBundle\Entity\Step type $step * @return integer - number of steps before given one (given one is also count) */ public function getPassedNo(\Calculus\BaranekBundle\Entity\Step $step) : int { $order_val = $step->getOrderValue(); $course_id = $step->getCourse()->getId(); $result = $this->createQueryBuilder('s')->select('s.id')->where('s.course = :course_id AND s.order_value <= :order_val ')->setParameter('course_id', $course_id)->setParameter('order_val', $order_val)->getQuery()->getResult(); return count($result); }