Exemple #1
0
 /**
  * @param $inputs
  */
 public function store($inputs)
 {
     $answersLabels = $inputs['answerLabel'];
     $answers = [];
     foreach ($answersLabels as $key => $answersLabel) {
         //Creating Answer object
         $answerEntity = new Answer();
         $answerEntity->setAttribute('label', $answersLabel);
         if ($key == $inputs['answerChecked']) {
             $answerEntity->setAttribute('correct', true);
         } else {
             $answerEntity->setAttribute('correct', false);
         }
         $answers[] = $answerEntity;
     }
     //Insert the question
     $question = new Question();
     $question->fill($inputs);
     $question->save();
     //Attach this question to one or several quizzs
     if (isset($inputs['quizz'])) {
         $question->quizzs()->attach($inputs['quizz']);
     }
     //Insert all the answers to this question
     $question->answers()->saveMany($answers);
 }
 /**
  * Update the specified resource in storage.
  *
  * @param Question $questions
  * @param CategoryRequest $request
  * @return Response
  */
 public function update(Question $questions, QuestionRequest $request)
 {
     $attachment = ImageUploadFacade::image($request->file('attachment'));
     $questions->fill($request->all());
     if ($attachment) {
         $questions->attachment()->associate($attachment);
     }
     $questions->save();
     return redirect()->route('admin.questions.index');
 }
Exemple #3
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update(Requests\Admin\Questions\Store $request, Question $Question)
 {
     $Question->fill($request->input('question'));
     $Question->save();
     if ($request->hasFile('image') && $request->file('image')->isValid()) {
         $QuestionImage = $request->file('image');
         $QuestionImage = $QuestionImage->move('upload\\questions', $Question->id . '.' . $QuestionImage->getClientOriginalExtension());
         $Question->image = $QuestionImage->getPathname();
         $Question->save();
     } elseif ($request->has('question.delete_image') && $request->input('question.delete_image') == 'on') {
         $Question->image = null;
         $Question->save();
     }
     $IdsAnswers = [];
     foreach ($request->input('answers') as $key => $answer) {
         $Answer = Answer::findOrNew($request->input('answers.' . $key . '.id'));
         $Answer->fill(['text' => $request->input('answers.' . $key . '.text'), 'right' => $request->input('answers.' . $key . '.right', false), 'question_id' => $Question->id]);
         $Answer->save();
         $IdsAnswers[] = $Answer->id;
         if ($request->hasFile('answers.' . $key . '.image') && $request->file('answers.' . $key . '.image')->isValid()) {
             $AnswerFile = $request->file('answers.' . $key . '.image');
             $AnswerFile = $AnswerFile->move('upload\\answers', $Answer->id . '.' . $AnswerFile->getClientOriginalExtension());
             $Answer->image = $AnswerFile->getPathname();
             $Answer->save();
         } elseif ($request->has('answers.' . $key . '.delete_image') && $request->input('answers.' . $key . '.delete_image') == 'on') {
             $Answer->image = null;
             $Answer->save();
         }
     }
     $AnswersForDeleting = $Question->answers()->whereNotIn('id', $IdsAnswers)->get();
     if ($AnswersForDeleting->count()) {
         foreach ($AnswersForDeleting as $Answer) {
             $Answer->delete();
         }
     }
     return redirect()->back();
 }