|
@@ -9,6 +9,8 @@
|
|
|
namespace App\Http\Controllers\Post;
|
|
|
|
|
|
use App\Repositories\Post\PostRepository;
|
|
|
+use App\Transformers\Post\CommentTransformer;
|
|
|
+use App\Transformers\Post\DetailTransformer;
|
|
|
use App\Transformers\Post\PostTransformer;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
@@ -17,6 +19,7 @@ use Illuminate\Validation\Rule;
|
|
|
use League\Fractal\Manager;
|
|
|
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
|
|
|
use League\Fractal\Resource\Collection;
|
|
|
+use League\Fractal\Resource\Item;
|
|
|
|
|
|
class PostController extends Controller
|
|
|
{
|
|
@@ -65,6 +68,31 @@ class PostController extends Controller
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 内容详情
|
|
|
+ */
|
|
|
+ public function detail(Request $request)
|
|
|
+ {
|
|
|
+ $validator = Validator::make($request->all(), [
|
|
|
+ 'id' => 'required|exists:post'
|
|
|
+ ]);
|
|
|
+ if ($validator->fails()) {
|
|
|
+ return $this->response->error($validator->errors()->first(), 500);
|
|
|
+ }
|
|
|
+
|
|
|
+ $commentList = $this->postRepository->commentList($request->all());
|
|
|
+ $fractal = new Manager();
|
|
|
+ $resource = new Collection($commentList, new CommentTransformer());
|
|
|
+ $resource->setPaginator(new IlluminatePaginatorAdapter($commentList));
|
|
|
+ $data = $fractal->createData($resource)->toArray();
|
|
|
+
|
|
|
+ $post = $this->postRepository->detail($request->all());
|
|
|
+ $base = new Item($post, new DetailTransformer());
|
|
|
+ $base = $fractal->createData($base)->toArray();
|
|
|
+ $data['extra'] = $base['data'];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 发布内容
|
|
|
*/
|