1
0
Fork 0
internet-everythings-agricu.../app/Http/Controllers/Api/ArticleController.php

44 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{Article, ArticleCategory};
use App\Http\Resources\{ArticleResource, ArticleCategoryResource};
class ArticleController extends Controller
{
public function category(Request $request)
{
$query = ArticleCategory::filter($request->all())->enable()->sort();
$list = $query->get();
return $this->json(ArticleCategoryResource::collection($list));
}
public function tree(Request $request)
{
$pid = $request->input('parent_id');
$list = ArticleCategory::filter(['parent_path' => $pid])->enable()->sort()->select(['id', 'name', 'icon', 'parent_id'])->get()->toArray();
return $this->json(array2tree($list, $pid ?? 0));
}
public function index(Request $request)
{
$query = Article::filter($request->all())->enable()->sort();
$list = $query->paginate($request->input('per_page'));
return $this->json(ArticleResource::collection($list));
}
public function show($id)
{
$info = Article::enable()->findOrFail($id);
return $this->json(ArticleResource::make($info));
}
}