1

我尝试应用我在网上找到的一些解决方案,但我似乎无法让它们中的任何一个对我有用。(我对 Laravel 相当陌生)我试图让 Laravel 直接指向我设置的刀片视图。但是,我希望能够通过子页面 url 访问它们。我能得到一些帮助吗?我现在使用的网址是

/course/{course_slug}
/lesson/{lesson_slug}
/module/{module_slug}

我设置了 course.blade.php 、 course.blade.php 和 module.blade.php 。(不知道为什么它不允许我发布我的代码)

但我希望能够使用以下语法路由到这些视图:

/course/{course-slug}
/course/{course-slug}/{lesson-slug}
/course/{course-slug}{lesson-slug}/{module-slug}

任何建议都会很棒。太感谢了。

欧文

编辑:用于刀片文件的代码(将模块变量更改为课程、课程等)

@foreach($modules as $modules)
        <li>
            <a href="/modules/{{ $lesson->lesson_slug}}/{{ $modules->module_slug }}">

                <span>{{ $modules->module_title }}</span>
            </a>
        </li>

这是我的路线文件代码:

Route::get('course/{slug}', function($slug){
    $course= App\Course::where('slug', '=', $slug)->firstOrFail();
    $lessons = App\Lesson::where("course_id", "=", $course->id)->get();
    return view('course', compact('course'))->with('lessons', $lessons);
});

Route::get('lesson/{slug}', function($slug){
    $lesson = App\Lesson::where('lesson_slug', '=', $slug)->firstOrFail();
    $modules = App\Module::where("lesson_id", "=", $lesson->id)->get();
    return view('lesson', compact('lesson'))->with('modules', $modules);
});

Route::get('module/{slug}', function($slug){
    $module = App\Module::where('module_slug', '=', $slug)->firstOrFail();
    return view('module', compact('module'));
});
4

0 回答 0