RESTful控制器,具有多种CRUD方法

时间:2013-07-18 15:17:09

标签: php rest laravel

这是我不太了解的事情,我使用Laravel为自己制作应用程序,并希望保持标准。

所以我有以下内容:

class UserController extends BaseController {

    GET index(), show(), new(), edit()        
    POST create()
    PUT update()
    DELETE destroy()
}

class UserModel { hasMany->Assets }

class Asset { pulic function fetchAssetsFromApi(); }

现在我没有资产控制器,因为资产不需要自己显示。我只是将ORM用于表示assets表的模型。

现在,Assets模型有一个方法可以提取与特定用户关联的资产并将它们添加到数据库中。

现在我的UserController->show呈现的视图有一个名为Update Assets的按钮,应该调用fechAssetsFromApi()来更新字符资产。但是,由于没有办法单独使用按钮调用,我必须POST到控制器。

现在意味着我需要在UsersController中使用另一种方法,因为它是唯一一种将使用Assets模型的方法。

现在我的问题是这会破坏RESTfull控制器的规则和指南吗?如果我接近它,我会在应用程序中多次出现这种类似的困境。

正确的RESTFull控制器是否只包含CRUD或?

1 个答案:

答案 0 :(得分:1)

据我所知,在控制器中有更多功能是可以的,但你应该只有你的公共功能是你的CRUD功能。在这种情况下,我只会创建一个链接,当单击时,它将返回到相同的路径。这意味着将调用相同的show()函数,除了已更新的任何内容现在将被拉到页面。基本上强制刷新浏览器页面。