我正在创建一个API,我希望包含常规资源和嵌套资源
例如,我会说我有一个Post
资源和Comment
资源。我已经设置了适当的路线和控制器,如下面的
路线
Route::resource('posts', 'PostsControllers'); // /posts/{id}
Route::resource('comments', 'CommentsControllers'); /comments/{id}
但我也希望将评论作为帖子的嵌套资源,比如
嵌套资源路径
Route::resource('posts.comments', 'PostCommentsControllers'); /posts/{id}/comments/{id}
因为我已经写了CommentsController
,所以我想知道为CommentsController
PostsController
的最佳方法
由于
答案 0 :(得分:1)
使用继承是最好的方法:
class BaseController extends Controller {
public function index() {
}
public function create() {
}
public function store() {
}
public function update() {
}
}
class PostsController extends BaseController {
}
class CommentsController extends BaseController {
}
答案 1 :(得分:0)
您可以在包含所有逻辑的通用FooBarController上扩展您的Blog / Comment / * Controller。
您必须提供模型和其他与模型相关的数据,我是通过构造函数提供的,我的模型包含有关列的数据等。