<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019-06-15 * Time: 10:53 */ namespace App\Http\Controllers\V1; use App\Repositories\CategoryRepository; use App\Transformers\CategoryTransformer; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use League\Fractal\Manager; use League\Fractal\Pagination\IlluminatePaginatorAdapter; use League\Fractal\Resource\Collection; class CategoryController extends Controller { public function __construct(CategoryRepository $categoryRepository) { $this->categoryRepository = $categoryRepository; } //列表 public function index(Request $request) { $categoryList = $this->categoryRepository->lists($request->all()); $fractal = new Manager(); $resource = new Collection($categoryList, new CategoryTransformer()); $resource->setPaginator(new IlluminatePaginatorAdapter($categoryList)); $data = $fractal->createData($resource)->toArray(); return jsonSuccess($data); } //获取多个话题 public function getTopics(Request $request){ $data = $request->only('ids'); $validator = Validator::make($data, [ 'ids' => 'required|string', ]); if ($validator->fails()) { return jsonError($validator->errors()->first()); } $categoryList = $this->categoryRepository->getTopics($data['ids']); return jsonSuccess($categoryList); } }