wicool/laravel-filters
一个简化Laravel中Eloquent查询的Laravel包
dev-master
2020-01-20 15:23 UTC
Requires
- php: >=7.3.0
This package is auto-updated.
Last update: 2024-09-21 01:24:22 UTC
README
- 安装
composer require wicool/laravel-filters
如何使用
- 模型
app/Models/User.php
<?php namespace App\Models\User; use Illuminate\Database\Eloquent\Model; use Wicool\LaraFilter\LaraFilterTrait; class User extends Model { use LaraFilterTrait; /** * set string fields for filtering * @var array */ protected $likeFilterFields = ['name', 'email', 'phone']; /** * set boolean fields for filtering * @var array */ protected $boolFilterFields = ['status']; }
- 控制器
app/Http/Controllers/UserController.php
你只需要在控制器作用域的过滤器中通过请求传递参数。
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Models\User; use Illuminate\Http\Request; class UsersController extends Controller { public function index(Request $request) { $users = User->filter($request->all())->get(); return $users; } }
- 返回的结果可能如下
/users?name=Fulaninho&email=fulaninho@email.com?phone=999999999&status=true
SELECT * FROM users WHERE name = 'Fulaninho' AND email = 'fulaninho@email.com' AND status = true