dczech / fluentpdo
FluentPDO (pgsql) 是一个小型PHP库,用于快速构建查询。其杀手级特性是智能连接构建器,可以自动生成连接。
dev-master
2013-11-15 09:25 UTC
This package is not auto-updated.
Last update: 2024-09-24 02:17:08 UTC
README
FluentPDO - PHP的智能SQL构建器。
FluentPDO 是一个小型PHP库,用于快速构建查询。其杀手级特性是“智能连接构建器”,可以自动生成连接。
特性
- 逐步创建查询的流畅接口
- 智能连接构建器
- 基于PDO和SQL语法的简单API
- 构建SELECT、INSERT、UPDATE & DELETE查询
- 小巧且快速
- 在智能IDE中支持代码补全的类型提示
- 需要PHP 5.1+和任何由PDO支持的数据库
安装
Composer
安装FluentPDO的首选方式是通过composer。
在您的composer.json
中添加以下内容
"require": {
...
"dczech/fluentpdo": "dev-pgsql"
}
然后使用composer update
更新您的依赖项。
复制
如果您不熟悉composer,只需将/FluentPDO
目录复制到您的libs/
目录中即可。
include "libs/FluentPDO/FluentPDO.php";
开始使用
$pdo = new PDO("mysql:dbname=fblog", "root"); $fpdo = new FluentPDO($pdo);
第一个例子
FluentPDO 易于使用
$query = $fpdo->from('article') ->where('published_at > ?', $date) ->orderBy('published_at DESC') ->limit(5); if ($user_id) { $query = $query ->where('user_id', $user_id) ->select('user.name'); // this join table user } foreach ($query as $row) { echo "$row[name] - $row[title]\n"; }
执行查询如下
SELECT article.*, user.name FROM article LEFT JOIN user ON user.id = article.user_id WHERE published_at > ? AND user_id = ? ORDER BY published_at DESC LIMIT 5
完整文档可以在FluentPDO 主页上找到
简单查询示例
SELECT
$query = $fpdo->from('article')->orderBy('published_at DESC')->limit(5); // or if you want to one row by primary key $query = $fpdo->from('user', 2);
INSERT
$values = array('title' => 'article 1', 'content' => 'content 1'); $query = $fpdo->insertInto('article')->values($values); // or shortly $query = $fpdo->insertInto('article', $values);
UPDATE
$set = array('published_at' => new FluentLiteral('NOW()')); $query = $fpdo->update('article')->set($set)->where('id', 1); // or shortly $query = $fpdo->update('article', $set, 'id', 1);
DELETE
$query = $fpdo->deleteFrom('article')->where('id', 1); // or shortly $query = $fpdo->deleteFrom('article', 'id', 1);
注意:INSERT、UPDATE和DELETE将在->execute()
后执行
$fpdo->deleteFrom('article', 'id', 1)->execute();
完整文档可以在FluentPDO 主页上找到
许可证
免费用于商业和非商业用途(Apache License或GPL)。