如何显示多个foreach?

西蒙娜·布加(Simona Buga)

我已经更改了Exams模型,以将ExamQuestions从hasMany保存为belongsTo,这就是我修改控制器的方式。我在视图中为foreach()提供了一个无效的参数。

这是我更改考试模型

     public function questions()
  {
      return $this->belongsTo(ExamQuestion::class, 'exam_questions');
  }

这是我的控制器

public function exam($course_id, Request $request)
        {
            $course = Course::where('id', $course_id)->firstOrFail();
            $answers = [];
            $exam_score = 0;
            foreach ($request->get('questions') as $question_id => $answer_id) {
                $question = ExamQuestion::find($question_id);
                $correct_answer = ExamOption::where('exam_question_id', $question_id)
                    ->where('id', $answer_id)
                    ->where('is_correct', 1)->count() > 0;
                $answers[] = [

                    'exam_question_id' => $question_id,
                    'exam_option_id' => $answer_id,
                    'corect' => $correct_answer
                ];
                if ($correct_answer) {
                    $exam_score += $question->score;
                }
            }

            $exam_result = ExamResult::create([
              'exam_id' => $course->exam->id,
              'employee_id' => \Auth::id(),
              'result' => $exam_score,
            ]);
            $exam_result->answers()->createMany($answers);

            $get_reslts_score= Exam::with('exam_results')->first();
            $x = $get_reslts_score->passing_grade;

            if($exam_result->result >= $x) {
              $exam_result->is_complete = 1;
              $exam_result->save();
}

            return redirect()->route('learn.show', [$course, $request])->with('message', 'Test score: ' . $exam_score);
        }

这是我的看法

  <h3>@if ($courses->exam)</h3>
  <hr/>
    <div class="row">
      <div class="col-xs-12 form-group">

      <form action="{{ route('exam.save', [$courses->id]) }}" method="post">
      {{ csrf_field() }}


        @foreach($courses->exam->questions as $question)

        <br>{{$loop->iteration}} . {{$question->question}}</b>
        </br>

        @foreach($questions->exam_options as $option)
        &nbsp;<input type="radio" name="question[{{ $question->id }}]" value="{{ $option->id }}"/>&nbsp;&nbsp;{{ $option->text }}</br>
        @endforeach


        <br>
        @endforeach
破烂的哈桑
  <h3>@if ($courses->exam)</h3>
  <hr/>
  <div class="row">
      <div class="col-xs-12 form-group">
         <form action="{{ route('exam.save', [$courses->id]) }}" method="post">
              {{ csrf_field() }}
           @foreach($courses->exam->questions as $questions)
               <br>{{$loop->iteration}} . {{$questions->question}}</b>
               </br>

            @foreach($questions->exam_options as $option)
               &nbsp;<input type="radio" name="question[{{ $questions->id }}]" value="{{ $option->id }}"/>&nbsp;&nbsp;{{ $option->text }}</br>
            @endforeach
            <br>
          @endforeach

如果它不起作用,请检查您的模型关系是否返回值。使用父级递归遍历整个数组,您可以在此处达到任何深度

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章