【问题标题】:Laravel: Creating route resource for sub itemsLaravel:为子项目创建路由资源
【发布时间】:2020-12-17 11:43:40
【问题描述】:

你好,我是 laravel 新手,我想创建一个嵌套系统

这是我的梦想mmmm

我的网页.php

Route::resource('survey','XX\Survey\SurveyController')->except([
     'show'
]);

这很好用,但我希望在此页面上创建的项目中有一个页面

Route::resource('survey/{survey_id}','XX\Survey\SurveyQuestionController');

这是我想要的路线;

abc.com/survey/ //

abc.com/survey/survey_id //

这是我的错误截图:

【问题讨论】:

    标签: php laravel routes controller resources


    【解决方案1】:

    你尝试过这样的事情吗?

    Route::resource('/survey/{survey}/survey_questions', 'XX\Survey\SurveyQuestionController'); 
    

    这将创建以下路线

    1. 索引:GET abc.com/survey/1/survey_questions
    2. 创建:GET abc.com/survey/1/survey_questions/create
    3. 商店:发布 abc.com/survey/1/survey_questions
    4. 显示:GET abc.com/survey/1/survey_questions/1
    5. 编辑:获取 abc.com/survey/1/survey_questions/1/edit
    6. 更新:PUT abc.com/survey/1/survey_questions/1
    7. 销毁:DEL abc.com/survey/1/survey_questions/1

    如果需要,您可以传递一些额外的参数来格式化 url 和命名路由

    Route::resource('/survey/{survey}/questions', 'XX\Survey\SurveyQuestionController', [
        'as' => 'survey',
        'parameters' => ['questions' => 'surveyQuestion']
    ]); 
    

    这样你的路线将是

    1. 索引:GET abc.com/survey/1/questions ->survey.questions.index
    2. 创建:GET abc.com/survey/1/questions/create ->survey.questions.create
    3. 存储:发布 abc.com/survey/1/questions ->survey.questions.store
    4. 显示:GET abc.com/survey/1/questions/1 ->survey.questions.show
    5. 编辑:获取 abc.com/survey/1/questions/1/edit ->survey.questions.edit
    6. 更新:PUT abc.com/survey/1/questions/1 ->survey.questions.update
    7. 销毁:DEL abc.com/survey/1/questions/1 ->survey.questions.destroy

    【讨论】:

    • 赛义德您好,感谢您的回答。为什么我必须“问题”标签?为什么我不能直接使用项目 ID?
    【解决方案2】:

    然后使用路由组,因为允许您跨大量路由共享路由属性(例如中间件),而无需在每个单独的路由上定义这些属性。 https://laravel.com/docs/8.x/routing#route-groups

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-19
      • 2015-05-23
      • 1970-01-01
      • 2014-06-27
      • 2018-03-13
      • 2014-07-08
      • 1970-01-01
      • 2016-12-26
      相关资源
      最近更新 更多