xiaowei / model_filter
model filter for hyperf
1.1.0
2020-04-24 10:02 UTC
Requires
- php: >=7.2
- ext-swoole: >=4.4
- hyperf/db-connection: ^1.1
- hyperf/di: 1.1.*
- hyperf/framework: 1.1.*
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- hyperf/testing: 1.1.*
- phpstan/phpstan: ^0.10.5
- swoft/swoole-ide-helper: dev-master
README
习惯了laravel的tucker-eric/eloquentfilter查询条件写法, 转到hyperf发现没有相关的包,所以这个包出现了。
支持hyperf1.1
如何使用
安装最新版
composer require xiaowei/model_filter --prefer-dist
创建目录
app/ModelFilters
在模型中使用trait
use Xiaowei\ModelFilter\Filterable;
class Tag extends Model
{
use Filterable;
}
创建filter类
在app/ModelFilters中创建模型名+filter的文件
use Xiaowei\ModelFilter\ModelFilter;
class TagFilter extends ModelFilter
{
public function id($value)
{
$this->where('id',$value);
}
public function name($value)
{
$this->where('name','like',$value.'%');
}
public function order($value)
{
$this->where('order','>=',$value);
}
}
注意
- 目前只支持Hyperf\Database\Model\Builder中的查询方法
- 参数需要为下划线分割的名称 如 product_id 那么ModelFilter中对应的方法就为productId