kekos/query-builder
最新稳定版本:v2.2.2
Composer 安装命令:
composer require kekos/query-builder
包简介
Small SQL query builder
关键字:
README 文档
README
A fork of Muhammad Usman's Pixie, a lightweight query builder for PHP. This library only supports a subset of Pixie's fetures:
- Nested criterias (
WHERE,HAVINGandONfor joins) - Raw queries
Query Builder is not able to open database connections or execute the built queries.
Install
You can install Query Builder via Composer:
composer require kekos/query-builder
API
Start by configure Query Builder with an adapter:
QueryBuilder::setAdapter(new MySqlAdapter());
The adapter sets the correct sanitizer character.
At this moment MySqlAdapter is provided with the library.
All builders have a toSql() method, which returns the SQL query and all
parameters to be bound to the query, to be used with prepared statements.
Select
$result = QueryBuilder::select(['user', 'u']) ->columns(['u.id', 'uname' => 'username']) ->joinOn(['user_permission', 'p'], 'p.user_id', 'u.id') ->limit(5, 0) ->groupby(['u.id']) ->orderby(['username ASC', 'firstname ASC']) ->where('firstname', '=', 'Christoffer') ->whereNot('u.id', 'IN', array(2)) ->toSql();
$result will be an object of type QueryBuilder\QueryBuilders\Raw.
Nested where or having
$result = QueryBuilder::select('user') ->orderby('id') ->where(function($qb) { $qb->where('name', 'LIKE', '%chris%') ->whereOr('username', 'LIKE', '%chris%'); }) ->where('active', '=', 1) ->toSql();
Insert
$result = QueryBuilder::insert('user') ->values([ 'username' => 'Kekos', 'firstname' => 'Christoffer' ]) ->toSql();
Update
$result = QueryBuilder::update('user') ->set([ 'username' => 'new_username', 'firstname' => 'New firstname' ]) ->where('id', '=', 2) ->toSql();
Delete
$result = QueryBuilder::delete('user') ->where('id', '=', 2) ->toSql();
Bugs and improvements
Report bugs in GitHub issues or feel free to make a pull request :-)
License
MIT
统计信息
- 总下载量: 9.91k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-12-08