james.xue/laravel-eloquent-filter 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

james.xue/laravel-eloquent-filter

Composer 安装命令:

composer require james.xue/laravel-eloquent-filter

包简介

An Eloquent way to filter Eloquent Model

README 文档

README

This package can be installed through Composer.

composer require james.xue/laravel-eloquent-filter

使用

php artisan make:filter Test

修改生成文件命名空间

默认命名空间:App\Filters

先执行 php artisan vendor:publish --tag=filter
然后修改 config 中的 namespace

TestFilter

搜索默认数据库字段
    public function code($code)
    {
        return $this->builder->where('code', $code);
    }
    
    public function name()
    {
        return $this->builder->where('name', 'like', "%测试%");
    }
    
    public function mobile($mobile)
    {
        return $mobile ? $this->builder->where('mobile', $mobile) : $this->builder;
    }

 一对多
    public function title($title)
    {
        return $this->builder->whereHas('goods', function($q) use ($title){
            return $q->where('title', 'like', "%{$title}%");
        });
    }

Controller、通过 url 筛选条件默认方法可以不写,默认搜索条件为 where($column, $keywords)

// http://baby.com/api/city?code=54526481&title=菁华粉底液(片装1.5mll)

public function index(TestFilter $testfilter)
{
    Test::filter($testfilter)->get(); 
    // Or $testfilter 可以省略,但是 TestFilter 文件必须存在,默认加载 `模型 + Filter`
    Test::filter()->get(); 
    
    // 支持固定筛选
    Test::filter($testfilter, 'name')->get();
    // Or
    Test::filter($testfilter, ['name'])->get();
    
    // 支持固定筛选带参数
    $mobile = "185513215";
    Test::filter($testfilter, ['mobile:'.$mobile])->get();
    
    // 支持自定义筛选方式,example:<>、like等
    $mobile = "185513215";
    Test::filter($testfilter, ['mobile:'.$mobile."|<>"])->get();
}

统计信息

  • 总下载量: 61
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-08-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固