【问题标题】:Laravel RESTful controller to include subdirectory for 'show' functionLaravel RESTful 控制器包含“显示”功能的子目录
【发布时间】:2014-04-13 17:00:13
【问题描述】:

我正在通过使用 RESTful 控制器构建我的 Laravel 应用程序。

目前,“代理”可以登录,查看他们所有的“通知”。

结构是:

/代理

当他们选择查看通知时,而不是:

/agents/$id

我希望它是:

/agents/notifications/$id

仅仅因为它符合逻辑。例如,如果它是“/agents/$id”,我希望看到代理的个人资料。

有没有办法在“show”函数中包含一个子目录?或者我是否需要创建一个通知控制器,以某种方式在代理目录中建立站点。

我的路线是:

Route::controller('agents', 'AgentsController');

带有显示功能:

public function show($id)
{
    $alerts = Alert::where('id', $id)->first();
    $this->layout->content = View::make('agents.notification.show', array('alerts' => $alerts));
}

任何帮助将不胜感激。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    如果你想使用http://laravel.com/docs/controllers#restful-controllers,那么你的控制器的方法应该命名为getShow()。 除此之外,您可以通过定义另一条路线来实现您想要的:

    Route::get('agents/notifications/{id}', 'AgentsController@getShow');
    

    【讨论】:

    • 是的,很简单:您不需要新的控制器,但需要新的路由。我自己并不是 RESTful 控制器的忠实拥护者,它在大多数用例中都太有限了。
    猜你喜欢
    • 2019-08-23
    • 1970-01-01
    • 2019-07-20
    • 2016-02-04
    • 1970-01-01
    • 2012-12-24
    • 2014-01-24
    • 2013-10-12
    • 1970-01-01
    相关资源
    最近更新 更多