fulinqingjie/app/Http/Controllers/Api/CaseStudyController.php

37 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Resources\{CaseStudyResource,KeywordResource};
use App\Traits\PaginatorTrait;
use App\Models\ProjectArticle;
use App\Models\Filters\ProjectArticleFilter;
use App\Models\Keyword;
class CaseStudyController extends Controller
{
use PaginatorTrait;
public function index(Request $request){
$query = ProjectArticle::filter($request->all(), ProjectArticleFilter::class)->sort();
$list = $query->caseStudies()->show()->sort()->paginate($this->resolvePerPage('per_page', 20));
return $this->json(CaseStudyResource::collection($list));
}
public function show(ProjectArticle $caseStudy){
request()->merge(['include_content' => true]);
return $this->json(CaseStudyResource::make($caseStudy));
}
/**
* 标签列表
*/
public function tags(Request $request){
$query = Keyword::allChildrenOfKey('case_study_tag');
$list = $query->sort()->get();
return $this->json(KeywordResource::collection($list));
}
}