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

52 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{Region, RegionCategory};
use App\Http\Resources\{RegionResource, RegionCategoryResource, RegionPlantResource, PlantHarvestResource};
use App\Filters\Admin\RegionFilter;
class RegionController extends Controller
{
public function category(Request $request)
{
$list = RegionCategory::query()->show()->sort()->get();
return $this->json(RegionCategoryResource::collection($list));
}
public function index(Request $request)
{
$query = Region::with(['currentPlant'])->filter($request->all(), RegionFilter::class)->sort()->show();
$list = $query->paginate($request->input('per_page'));
return $this->json(RegionResource::collection($list));
}
public function show($id)
{
$info = Region::with(['currentPlant'])->show()->findOrFail($id);
return $this->json(RegionResource::make($info));
}
public function plants($id)
{
$info = Region::show()->findOrFail($id);
$list = $info->plants()->get();
return $this->json(RegionPlantResource::collection($list));
}
public function harvests($id)
{
$info = Region::show()->findOrFail($id);
$list = $info->harvests()->get();
return $this->json(PlantHarvestResource::collection($list));
}
}