churakovmike/laravel-extended-builder
Composer 安装命令:
composer require churakovmike/laravel-extended-builder
包简介
Laravel extended query builder
README 文档
README
This package is a good way to organize subqueries of your models.
Requirements
- laravel 5.5+
Getting started
Install
The package is available on packagist.
composer require churakovmike/laravel-extended-builder
Usage
- You need to create a class that will be inherited from ChurakovMike\ExtendedBuilder\ExtendedQuery as an example
<?php namespace App; use ChurakovMike\ExtendedBuilder\ExtendedQuery; /** * Class UserQuery * @package App * * @property string $modelClass */ class UserQuery extends ExtendedQuery { public function isActive() { return $this->where('status', true); } public function hasName($name) { return $this->where('name', $name); } }
- Then you need to add a method to the main model that will call query builder.
<?php namespace App; use Illuminate\Foundation\Auth\User as Authenticatable; /** * Class User * @package App */ class User extends Authenticatable { public static function where() { return new \App\UserQuery(get_called_class()); } }
- Now you can call subqueries from extended query, as well as use regular Bulder methods, see an example
$user = User::where() ->isActive() ->first();
Function call chain example:
$user = User::where() ->isActive() ->hasName('Mike') ->first();
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-04-22