我尝试应用我在网上找到的一些解决方案,但我似乎无法让它们中的任何一个对我有用。(我对 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'));
});