/** * 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')); } }