/**
  * Retrieve evaluations where a student has results for
  * and return them as an array of Evaluation objects
  * @param int $cat_id parent category (use 'null' to retrieve them in all categories)
  * @param int $stud_id student id
  */
 public static function get_evaluations_with_result_for_student($cat_id = null, $stud_id)
 {
     $em = Database::getManager();
     $query = $em->createQuery();
     $dql = '
         SELECT ge FROM ChamiloCoreBundle:GradebookEvaluation ge
         WHERE gc IN (
             SELECT gr.evaluationId FROM ChamiloCoreBundle:GradebookResult gr
             WHERE gr.userId = :user AND gr.score IS NOT NULL
         )
     ';
     $queryParams = ['user' => intval($stud_id)];
     if (!api_is_allowed_to_edit()) {
         $dql .= 'AND ge.visible = 1 ';
     }
     if (isset($cat_id)) {
         $dql .= 'AND ge.categoryId = :category ';
         $queryParams['category'] = intval($cat_id);
     } else {
         $dql .= 'AND ge.categoryId >= 0 ';
     }
     $result = $query->setParameters($queryParams)->getResult();
     $alleval = Evaluation::createEvaluationObjectsFromEntities($result);
     return $alleval;
 }