#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:
Проблема была в тестовом блейде. Код работает хорошо.