syhcode/tp-transformer

thinkphp数据格式输出扩展

v0.0.2 2020-08-10 07:50 UTC

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();
    }
    
}