如何在Laravel中使用2个按钮进行保存?

时间:2019-05-19 12:13:34

标签: php laravel

我有一个带有2个按钮的表单,一个是“添加更多问题”,另一个是“完成”。两者都应该保存信息,但是我希望他们根据用户按下的按钮将用户重定向到其他页面。 我尝试了switch方法,但是却得到了空白页,并且数据没有保存。

这是我的控制人

        public function store(StoreExamQuestionsRequest $request)
    {
        if (! Gate::allows('exam_question_create')) {
            return abort(401);
        }

    switch($request->submitbutton) {

      case 'save':
      $request = $this->saveFiles($request);
      $question = new ExamQuestion;
      $question->question = $request->question;

      $question->exam_id = session()->get('id');
      $question->score = $request->score;
      $question->question_image = $request->question_image;
      $question->save();

          for ($q = 1; $q <= 4; $q++) {
          $option = $request->input('text_' . $q, '');
          if ($option != '') {

              ExamOption::create([
                  'exam_question_id' => $question->id,
                  'text' => $option,
                  'is_correct' =>$request->input('is_correct_' .$q)

    ]);
  }
}
return redirect()->route('admin.exam_questions.create');
        break;

        case 'save-done':
        $request = $this->saveFiles($request);
        $question = new ExamQuestion;
        $question->question = $request->question;

        $question->exam_id = session()->get('id');
        $question->score = $request->score;
        $question->question_image = $request->question_image;
        $question->save();


        for ($q = 1; $q <= 4; $q++) {

        $option = $request->input('text_' . $q, '');
        if ($option != '') {

            ExamOption::create([
                'exam_question_id' => $question->id,
                'text' => $option,
                'is_correct' =>$request->input('is_correct_' .$q)



            ]);
          }
        }

return redirect()->route('admin.exam_questions.index');
          break;
}
}



  {!! Form::submit( 'Save', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save'])!!}

  {!! Form::submit( 'Save Done', ['class' => 'btn btn-default', 'name' => 'submitbutton', 'value' => 'save-done']) !!}

非常感谢

1 个答案:

答案 0 :(得分:0)

我知道了。这是我的解决方案

import pyproj
pyproj.Proj("+init=epsg:4326")

这是按钮

public function store(StoreExamQuestionsRequest $request)
    {
        if (! Gate::allows('exam_question_create')) {
            return abort(401);
        }

   if(Input::get('save')) {

     $request = $this->saveFiles($request);
     $question = new ExamQuestion;
     $question->question = $request->question;
     $question->exam_id = session()->get('id');
     $question->score = $request->score;
     $question->question_image = $request->question_image;
     $question->save();

         for ($q = 1; $q <= 4; $q++) {
         $option = $request->input('text_' . $q, '');
         if ($option != '') {

             ExamOption::create([
                 'exam_question_id' => $question->id,
                 'text' => $option,
                 'is_correct' =>$request->input('is_correct_' .$q)

   ]);
 }
}

return redirect()->route('admin.exam_questions.create');

   }else if(Input::get('done')){
     $request = $this->saveFiles($request);
     $question = new ExamQuestion;
     $question->question = $request->question;

     $question->exam_id = session()->get('id');
     $question->score = $request->score;
     $question->question_image = $request->question_image;
     $question->save();


     for ($q = 1; $q <= 4; $q++) {

     $option = $request->input('text_' . $q, '');
     if ($option != '') {

         ExamOption::create([
             'exam_question_id' => $question->id,
             'text' => $option,
             'is_correct' =>$request->input('is_correct_' .$q)



         ]);
       }
     }

       return view ('admin.exam_questions.index');
   }
}