показ функции laravel в контроллере - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь показать уроки из курса, когда нажимаю.

модель урока

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

модель курса

 public function lesson() {
   return $this->hasMany(Lesson::class);

}

show controller

 public function show($id)
{
    $cours = Course::findOrFailnd($id);
    $lessons = course::findOrFail($id)->lesson;
    return view('pages.lessons', compact('lessons', 'cours'));

}

страничный урок

<div class="form-group">
    <strong>Lessons : </strong>
    @foreach ($lessons as $lesson )

    {{$lesson->long_text}}


    @endforeach
</div>

веб-маршруты

Route::resource('pages/lessons', 'LessonsController@show')->name('pages.lessons');

и у меня есть эта ошибка:

Type error: Too few arguments to function Illuminate\Routing\PendingResourceRegistration::name(), 1 passed in C:\wamp64\www\learn2code\routes\web.php on line 21 and exactly 2 expected

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Модельный курс

public function lessons() {
    return $this->hasMany(Lesson::class);
}

Маршрут

Route::get('pages/lessons/{course}', 'LessonsController@show')->name('pages.courses.lessons');

ИЛИ

Route::get('pages/courses/{course}/lessons', 'LessonsController@show')->name('pages.courses.lessons');

Метод показа контроллера

public function show(Course $course) {
    return view('pages.lessons', compact('course'));

}

страничный урок

<div class="form-group">
    <strong>Lessons : </strong>
    @foreach ($course->lessons as $lesson)

        {{$lesson->long_text}}

    @endforeach
</div>
0 голосов
/ 27 мая 2018

Для контроллеров ресурсов его names вместо name:

Именование маршрутов ресурса

По умолчанию все действия контроллера ресурса имеют маршрутназвание;однако вы можете переопределить эти имена, передав массив имен с параметрами:

Route::resource('photos', 'PhotoController')->names([
    'create' => 'photos.build'
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...