syhcode / tp-transformer
thinkphp数据格式输出扩展
v0.0.2
2020-08-10 07:50 UTC
Requires
- php: >=5.5.9
- league/fractal: ^0.19.2
This package is auto-updated.
Last update: 2024-04-10 16:02:25 UTC
README
一个简单的基于thinkphp6的orm插件,thinkphp5可以自己尝试
不才,完全借鉴大神的代码,原项目地址: https://github.com/Tucker-Eric/EloquentFilter
使用
使用composer引入
composer require syhcode/tp-model-filter
在console.php中加入
'make:filter' => 'tpModelFilter\FilterCommond'
在模型中引用Filterable
<?php declare (strict_types = 1); namespace app\model; use think\Model; use tpModelFilter\Filterable; /** * @mixin think\Model */ class Users extends Model { use Filterable; }
使用命令行 think make:filter UsersFilter
创建filter文件,默认格式为"模型名+Filter" ,传参会过滤空参,自动转化为驼峰写法比如nick_name
会转化为nickName
,调用filter里面的nickName
方法,完全继承模型的方法
<?php namespace app\modelFilter; use tpModelFilter\ModelFilter; class UsersFilter extends ModelFilter { public function name($value){ return $this->whereLike("name","%".$value."%"); } public function nickName($value){ return $this->where("password",$value); } }
使用 filter
调用
<?php namespace app\controller; use app\BaseController; use app\model\Users; use app\Request; class Index extends BaseController { public function index(Request $request,Users $users) { return $users->filter($request->request())->select(); } }