/**
  * Create an empty question object and persist it.
  *
  * @param $questionnaire - questionnaire to which to add the question to.
  * @return Question newly created and persisted question.
  */
 private function createEmptyQuestion($questionnaire)
 {
     // Create a new question.
     $question = new Question();
     $question->setType('SINGLE');
     $question->setQuestionnaire($questionnaire);
     // Get the entity manager.
     $em = $this->getDoctrine()->getManager();
     // Create a empty answer and persist it.
     $answer = new Answer();
     $answer->setQuestion($question);
     $em->persist($answer);
     // Assign the empty answer.
     $question->addAnswer($answer);
     // Persist the question.
     $em->persist($question);
     $em->flush();
     return $question;
 }
 public function createAction(Request $request)
 {
     $questionnaireId = $request->request->getInt('questionnaireId');
     if (!empty($questionnaireId)) {
         $repository = $this->getDoctrine()->getRepository('AppBundle:Questionnaire');
         $questionnaire = $repository->findOneBy(array('id' => $questionnaireId));
         // Save user:
         $repository = $this->getDoctrine()->getRepository('AppBundle:User');
         $user = $repository->findOneBy(array('id' => 1));
         $question = new Question();
         $question->setUser($user);
         $question->setCreatedAt(new \DateTime());
         $question->setContent($request->get('content'));
         $question->setDescription($request->get('description'));
         $question->setQuestionnaire($questionnaire);
         $question->setTitle($request->get('title'));
         $question->setType($request->get('type'));
         $em = $this->getDoctrine()->getManager();
         $em->persist($question);
         // Now let's deal with potential answers and a potential file:
         $em->flush();
         return new JsonResponse(array('success' => 1, 'message' => 'question saved'));
     }
 }