coder-packages / scope-filtering
Laravel 中的作用域过滤
dev-master
2019-03-10 14:42 UTC
This package is auto-updated.
Last update: 2024-09-19 04:31:56 UTC
README
将特性添加到模型中
use Larapackages\ScopeFiltering\Traits\Filterable; class User { use Filterable; }
创建作用域
namespace App\Filters; use Illuminate\Database\Eloquent\Builder; use Larapackages\ScopeFiltering\Scope; class ContainsScope extends Scope { protected $field; /** this is not required */ public function __construct(string $field) { $this->field = $field; } public function filter(Builder $query, $value) { return $query->where($this->field, 'ilike', "%". mb_strtolower($value) . "%"); } }
用于搜索
use App\Filters\ContainsScope; User::filterBy([ 'name' => ContainsScope // or 'name' => new ContainsScope('name') ])->get();