Отображение тестов для уроков, которые принадлежат курсам

#laravel

#laravel

Вопрос:

У меня есть курсы, в которых есть уроки, и у каждого урока есть тест. Я пытаюсь отобразить тест при нажатии на урок.

Я создал модели, контроллер и представление, и, похоже, это не работает.

Вот модель для урока

     public function course()
    {
        return $this->belongsTo(Course::class, 'course_id')->withTrashed();
    }

    public function test() {
      return $this->hasOne('AppTest');
  }
  

Вот контроллер

 public function show($id)
    {
        $course = Course::with( 'lessons')->with('activeLessons')->findOrFail($id);
        $created_bies = AppUser::get()->pluck('name', 'id')->prepend(trans('global.app_please_select'), '');
        $trainers = AppUser::get()->pluck('name', 'id');
        // $test = AppTest::where('course_id', $id)->get();
        $lesson = AppLesson::where('course_id', $id)->get();
      // $course_test = Course::with('tests')->findOrFail($id);
        $user = User::find(1);
        $user->name;

        return view('admin.courses.showCourse', compact('course', 'test', 'lesson','course_test', 'previous_lesson', 'next_lesson','date', 'user'));
    }

function view_tests($id)
{

  $lessons = Lesson::findOrFail($id);
  $lessons->test;


  return view('admin.courses.test', compact('lessons'));
  

Вот маршрут

 Route::get('/test/{id}', 'EmployeeCoursesController@view_tests')->name('test.show');
  

И вот блейд со ссылкой для отображения теста

  @foreach($course->activeLessons as $lesson)
        <article class="lesson" >
          <p></p>
           <p></p>
           {!! $loop->iteration!!}.  <a href="{{route('learn.show', $lesson->id)}}"></a>
          <div class="body" id="title"> {!!$loop->iteration!!}. <h4><a href="{{route('test.show', $lesson->id)}}">{{ $lesson->title }}</a></div>
                                        <p> {!! $lesson->short_description !!}</p>

                                        <iframe width="420" height="315" src="{{ $lesson->video_link}}" frameborder="0" allowfullscreen></iframe>
                                    </article>

                                @endforeach
  

Комментарии:

1. итак, что за ошибку вы получаете?

Ответ №1:

Проблема была в тестовом блейде. Код работает хорошо.