vskut/laravel-api-resource-filterable
Laravel 5 Api Resources 的过滤特性。
dev-master
2019-06-16 11:47 UTC
Requires
- php: >=7.0
This package is not auto-updated.
Last update: 2024-09-17 11:14:35 UTC
README
为 Laravel 5 Api Resources 提供 filtering 特性。
安装
通过 composer
$ composer require vskut/laravel-api-resource-filterable
用法
资源
namespace App\Http\Resources; use vskut\laravel-api-resource-filterable\Filterable; use Illuminate\Http\Resources\Json\JsonResource; class UserResource extends JsonResource { use Filtratable; public function toArray($request) { return $this->filtrateFields([ 'id' => $this->id, 'name' => $this->name, 'email' => $this->email, ]); } }
集合
namespace App\Http\Resources; use vskut\laravel-api-resource-filterable\Filterable; use Illuminate\Http\Resources\Json\ResourceCollection; class UserResourceCollection extends ResourceCollection { use Filtratable; public function toArray($request) { return [ 'data' => $this->processCollection($request), ]; } }
控制器
namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Http\Resources\UserResource; use App\User; class UserController extends Controller { public function index() { $users = User::all(); return UserCollection::make($users)->only(['id', 'name', 'email']); //return UserCollection::make($users)->except(['email']); } public function show(User $user) { return UserResource::make($user)->only(['id', 'name', 'email']); // return UserResource::make($user)->except(['email']); } }
致谢
许可
MIT 许可证 (MIT)。