Php 对位于两个不同路由组中的类似路由形成操作

Php 对位于两个不同路由组中的类似路由形成操作,php,laravel,Php,Laravel,我正在研究一个基于Laravel设计的LMS系统 在这个系统中,我们有一门课程、一节课和一个测试模型。每门课程可以有几节课,只有一次期末考试,而每节课可以有一次考试 要为课程或课程创建测试,我只有一个包含表单的页面。为了创建它,我使用了以下方法: {!! Form::open(array('action' =>['TestController@store',$course_id,$lesson_id], 'id'=>'createTestForm')) !!} 路线如下: Rou

我正在研究一个基于Laravel设计的LMS系统

在这个系统中,我们有一门课程、一节课和一个测试模型。每门课程可以有几节课,只有一次期末考试,而每节课可以有一次考试

要为课程或课程创建测试,我只有一个包含表单的页面。为了创建它,我使用了以下方法:

{!! Form::open(array('action' =>['TestController@store',$course_id,$lesson_id],  'id'=>'createTestForm')) !!}
路线如下:

Route::group(['prefix' => 'course'], function () {
        Route::group(['prefix' => '/{course_id}'], function () {


            //To Create Final Test of a Course
            Route::resource('test', 'TestController');
            //To Create Final Test of a Course


            Route::group(['prefix' => 'lesson'], function () {

                Route::group(['prefix' => '/{lesson_id}'], function () {


                    //To Create Test of a Lesson
                    Route::resource('test', 'TestController');
                    //To Create Test of a Lesson

                });

            });

            Route::resource('lesson', 'LessonController');
        });

    });
    Route::resource('course', 'CourseController');
正如您看到的,测试模型的路线在课程路线组和课程路线组中重复

现在,当我想为课程创建一个测试时,所有东西都会工作,创建表单的action属性如下所示:

http://lms.dev/course/2/lesson/8/test
但在为课程创建测试表单时,表单的操作如下所示:

http://lms.dev/course/2/lesson//test
但一定是这样的:

http://lms.dev/course/2/test
我不想为此创建两个不同的页面视图,因为课程和课程的测试选项完全相似


我不知道该怎么办?

我不确定你想做什么-你想创建一个包含测试和课程字段的表单页面吗?不,只有一个页面包含一个表单,该表单的操作可以包含课程和课程id,也可以不包含。啊,您想使用相同的表单创建和更新课程?我不确定您想做什么-您想创建一个包含测试和课程字段的表单页面吗?不,只有一个页面包含一个表单,该表单的操作可以包含课程和课程id,也可以不包含。啊,是否要使用相同的表单创建和更新课程?