eden / sql
MySQL、Postgres和SQLite的SQL核心方法
Requires
- php: >=5.4.1
- eden/array: 4.*
- eden/collection: 4.*
- eden/core: 4.*
- eden/model: 4.*
- eden/string: 4.*
README
====
安装
composer install eden/sql
====
简介
SQL是一个用于
的抽象包。有关更多详细信息,请参阅以下文档。以下API方法在所有SQL类型数据库中是通用的。
====
API
====
绑定
绑定一个值并返回绑定的键
用法
eden('sql')->bind(*string|array|number|null $value);
参数
*string|array|number|null $value
- 要绑定的内容
返回 string
示例
eden('sql')->bind('foo');
====
集合
返回集合
用法
eden('sql')->collection(array $data);
参数
array $data
- 初始集合数据
返回 Eden\Sql\Collection
示例
eden('sql')->collection();
====
删除
返回删除查询构建器
用法
eden('sql')->delete(*string|null $table);
参数
*string|null $table
- 表名
返回 Eden\Sql\Delete
示例
eden('sql')->delete('foo');
====
删除行
删除符合过滤条件的行
用法
eden('sql')->deleteRows(*string|null $table, array|string $filters);
参数
*string|null $table
- 表名array|string $filters
- 要测试的过滤条件
返回 Eden\Sql\Collection
示例
eden('sql')->deleteRows('foo');
====
获取绑定
返回此查询的所有绑定值
用法
eden('sql')->getBinds();
参数
返回 array
====
获取连接
返回连接对象,如果没有建立连接,将尝试建立连接
用法
eden('sql')->getConnection();
参数
返回 resource
- PDO连接资源
====
获取最后插入的ID
返回最后插入的ID
用法
eden('sql')->getLastInsertedId(string|null $column);
参数
string|null $column
- 特定列名
返回 int
- ID
示例
eden('sql')->getLastInsertedId();
====
获取模型
根据列名和值返回模型
用法
eden('sql')->getModel(*string $table, *string $name, *scalar|null $value);
参数
*string $table
- 表名*string $name
- 列名*scalar|null $value
- 列值
返回 Eden\Sql\Model|null
示例
eden('sql')->getModel('foo', 'foo', $value);
====
获取查询
返回仍在内存中执行的查询历史
用法
eden('sql')->getQueries(int|string|null $index);
参数
int|string|null $index
- 要返回的特定索引
返回 array|null
- 查询
示例
eden('sql')->getQueries();
====
获取行
根据列名和值返回单行结果
用法
eden('sql')->getRow(*string $table, *string $name, *scalar|null $value);
参数
*string $table
- 表名*string $name
- 列名*scalar|null $value
- 列值
返回 array|null
示例
eden('sql')->getRow('foo', 'foo', $value);
====
插入
返回插入查询构建器
用法
eden('sql')->insert(string|null $table);
参数
string|null $table
- 表名
返回 Eden\Sql\Insert
示例
eden('sql')->insert();
====
插入行
将数据插入表并返回ID
用法
eden('sql')->insertRow(*string $table, *array $setting, bool|array $bind);
参数
*string $table
- 表名*array $setting
- 与表列匹配的键/值数组bool|array $bind
- 是否使用绑定变量计算
返回 Eden\Sql\Index
示例
eden('sql')->insertRow('foo', array('foo' => 'bar'));
====
插入多行
将多行插入表
用法
eden('sql')->insertRows(*string $table, array $setting, bool|array $bind);
参数
*string $table
- 表名array $setting
- 与表列匹配的键/值2D数组bool|array $bind
- 是否使用绑定变量计算
返回 Eden\Sql\Index
示例
eden('sql')->insertRows('foo');
====
模型
返回模型
用法
eden('sql')->model(array $data);
参数
array $data
- 要设置的初始数据
返回 Eden\Sql\Model
示例
eden('sql')->model();
====
查询
查询数据库
用法
eden('sql')->query(*string $query, array $binds);
参数
*string $query
- 要运行的查询array $binds
- 绑定值的列表
返回 array
示例
eden('sql')->query('foo');
====
搜索
返回搜索
用法
eden('sql')->search(string|null $table);
参数
string|null $table
- 表名
返回 Eden\Sql\Search
示例
eden('sql')->search();
====
选择
返回选择查询构建器
用法
eden('sql')->select(string|array $select);
参数
string|array $select
- 列列表
返回 Eden\Sql\Select
示例
eden('sql')->select();
====
设置绑定
设置此查询的所有绑定值
用法
eden('sql')->setBinds(*array $binds);
参数
*array $binds
- 要绑定的键/值
返回 Eden\Sql\Index
示例
eden('sql')->setBinds(array('foo' => 'bar'));
====
设置集合
设置默认集合
用法
eden('sql')->setCollection(*string $collection);
参数
*string $collection
- 集合类名
返回 Eden\Sql\Index
示例
eden('sql')->setCollection('foo');
====
设置模型
设置默认模型
用法
eden('sql')->setModel(*string Model);
参数
*string Model
- 类名
返回 Eden\Sql\Index
示例
eden('sql')->setModel('foo');
====
设置行
根据列名和值设置单行
用法
eden('sql')->setRow(*string $table, *string $name, *scalar|null $value, *array $setting);
参数
*string $table
- 表名*string $name
- 列名*scalar|null $value
- 列值*array $setting
- 与表列匹配的键/值数组
返回 Eden\Sql\Index
示例
eden('sql')->setRow('foo', 'foo', $value, array('foo' => 'bar'));
====
更新
返回更新查询构建器
用法
eden('sql')->update(string|null $table);
参数
string|null $table
- 表名
返回 Eden\Sql\Update
示例
eden('sql')->update();
====
更新行
根据更新设置更新符合过滤条件的行
用法
eden('sql')->updateRows(*string $table, *array $setting, array|string $filters, bool|array $bind);
参数
*string $table
- 表名*array $setting
- 与表列匹配的键/值数组array|string $filters
- 要测试的过滤条件bool|array $bind
- 是否使用绑定变量计算
返回 Eden\Sql\Index
示例
eden('sql')->updateRows('foo', array('foo' => 'bar'));
====
#向Eden贡献
对 Eden 的贡献遵循 Github 工作流程。请在贡献前仔细阅读。
##设置您的机器以使用 Eden 仓库和您的分支
- 分叉仓库
- 启动您的本地终端,从您分叉的
v4
分支创建一个新分支,分支名称应描述您的更改。可能的分支名称类型- bugfix
- feature
- improvement
- 进行更改。始终确保对所有提交进行签名(git commit -s -m "提交信息")
##制作拉取请求
- 请确保在制作拉取请求之前运行
phpunit
。 - 将您的代码推送到您的远程分叉版本。
- 回到您的 GitHub 上的分叉版本,提交拉取请求。
- Eden 开发者将审查您的代码,并在它被分类为合适时合并。