【问题标题】:laravel function show in controllerlaravel 函数在控制器中显示
【发布时间】:2018-11-06 02:33:00
【问题描述】:

当我点击时,我正在尝试显示课程中的课程。

示范课

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

示范课程

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

}

显示控制器

 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

【问题讨论】:

  • 这里有错字:$cours = Course::findOrFailnd($id);

标签: laravel model controller routes


【解决方案1】:

For resource controllers its names instead of name:

命名资源路由

默认情况下,所有资源控制器动作都有一个路由名称; 但是,您可以通过传递一个名称数组来覆盖这些名称 你的选择:

Route::resource('photos', 'PhotoController')->names([
    'create' => 'photos.build'
]

【讨论】:

    【解决方案2】:

    示范课程

    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>
    

    【讨论】:

      猜你喜欢
      • 2020-09-04
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 2020-01-23
      相关资源
      最近更新 更多