Laravel Nested resources and re-usable controllers
我正在创建一个API,我想同时包含常规资源和嵌套资源
例如,我要说我有一个
路线
1 2 | Route::resource('posts', 'PostsControllers'); // /posts/{id} Route::resource('comments', 'CommentsControllers'); /comments/{id} |
但是我也想将评论作为帖子的嵌套资源,例如
嵌套资源路由
1 | Route::resource('posts.comments', 'PostCommentsControllers'); /posts/{id}/comments/{id} |
因为我已经写了
重新使用
谢谢
使用继承是最好的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | class BaseController extends Controller { public function index() { } public function create() { } public function store() { } public function update() { } } class PostsController extends BaseController { } class CommentsController extends BaseController { } |
您可以仅在具有所有逻辑的通用FooBarController上扩展Blog / Comment / * Controller。
您将必须提供模型和其他与模型相关的数据,我是通过构造函数完成的,而我的模型则保存有关列等的数据。