generated from liutk/owl-admin-base
37 lines
1.1 KiB
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));
|
|
}
|
|
} |