承接 monochromegane/query-builder 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

monochromegane/query-builder

Composer 安装命令:

composer require monochromegane/query-builder

包简介

Simple query builder

README 文档

README

QueryBuilder is very simple query builder. It helps building query and binding values.

Install

composer.phar require monochromegane/query-builder:dev-master

Usage

Get query and binding values

Binding value format like a PDO format. i.e column = ?

use Monochromegane\QueryBuilder\Query; 

// SELECT
list($query, $bind) = Query::select("table", array("column1", "column2"));
                    ->where(array("column1" => "value1"));
                    ->build();

// INSERT
list($query, $bind) = Query::insert("table", array("column1" => "value1"))
                    ->build();

// UPDATE
list($query, $bind) = Query::update("table", array("column1" => "value1"))
                    ->where(array("column1" => "value1"));
                    ->build();

// DELETE
list($query, $bind) = Query::delete("table")
                    ->where(array("column1" => "value1"));
                    ->build();

// Execute
$dbh  = new PDO($dsn, $user, $password);
$stmt = $dbh->prepare($query);
$stmt->execute($bind);

Set Conditions

$conditions = array(
    // column1 IS NULL
    "column1" => null,
    // column2 = ? (and bind "value2")
    "column2" => "value2",
    // column3 <= ? (and bind "value3")
    "column3" => array("<=" => "value3"),
    // column4-1 = ? OR column4-2 = ? (and bind "value4-1", "value4-2")
    "column4-1 = ? OR column4-2 = ?" => array("value4-1", "value4-2"),
    // column5 = value5
    "column5 = value5"
);

list($query, $bind) = Query::select("table", array("column1", "column2"));
                    ->where($conditions);
                    ->build();

Other clauses

Select query builder supports the following clauses.

  • inner join
  • left join
  • group by
  • order by
  • limit and offset
list($query, $bind) = Query::select("table", array("column1", "column2"));
                    ->where(array("column1" => "value1"))
                    ->innerJoin("table2", array("table.column2 = table2.column2"))
                    ->leftJoin("table3", array("table2.column3 = table3.column3"))
                    ->groupBy(array("column4"))
                    ->orderBy(array("column5"))
                    ->limit(20)
                    ->build();

$query // "SELECT column1, column2 FROM table INNER JOIN table2 ON table.column2 = table2.column2 LEFT JOIN table3 ON table2.column3 = table3.column3 WHERE column1 = ? GROUP BY column4 ORDER BY column5 LIMIT ? OFFSET ?"

$bind // array("value1", 20, 0) 

Test

cd vendor/monochromegane/query-builder
composer.phar install --dev
cd tests
../vendor/bin/phpunit

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2013-06-02

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固