~~~
use model\Table;
public function db()
{
// 最简单的查询,查询全表,默认主键降序
Table::find();
// 根据主键查询
Table::find(1);
// 自定义查询条件
Table::find([
'name' => 'test',
// 年龄大于20岁
'age > ' => 20
]);
// 自定义查询字段
Table::find([
'name' => 'test'
], [
'field' => 'id, name, age'
]);
// 自定义的查询字段也支持数组格式,这样更加方便的使用子查询作为字段
Table::first([
'name' => 'test'
], [
'field' => [
'id', 'name', 'age',
'(SELECT COUNT(id) FROM people) people'
]
]);
// 自定义排序规则
Table::find([
'name' => 'test'
], [
'order' => 'age DESC, sex ASC'
]);
// 排序规则也支持数组格式
Table::find([
'name' => 'test'
], [
'order' => [
'age' => 'DESC',
'sex' => 'ASC'
]
]);
// 自定义查询条数
Table::find([
'name' => 'test'
], [
'limit' => 5
]);
// 没有条件查询
Table::find(FALSE, [
'field' => 'id, name, age',
'order' => 'age DESC',
'limit' => 5
]);
// 查询符合条件的第一条数据
Table::first([
'name' => 'test'
]);
// 指定查询字段
Table::first([
'name' => 'test'
], 'id, name');
// 查询符合条件的最后一条数据
Table::last([
'name' => 'test'
]);
// 指定查询字段
Table::last([
'name' => 'test'
], 'id, name');
// first、last的查询字段也支持数组格式,这样更加方便的使用子查询作为字段
Table::first([
'name' => 'test'
], [
'id', 'name', 'age',
'(SELECT COUNT(id) FROM people) people'
]);
// 统计全表数据总数
Table::count();
// 统计符合条件的记录总数
Table::count([
'name' => 'test'
]);
// 计算年龄总和
Table::sum(FALSE, 'age');
// 包含条件计算年龄总和
Table::sum([
'name' => 'test'
], 'age');
// 获取年龄最大的值
Table::max(FALSE, 'age');
// 根据条件获取年龄最大的值
Table::max([
'name' => 'test'
], 'age');
// 获取年龄最小的值
Table::min(FALSE, 'age');
// 根据条件获取年龄最小的值
Table::min([
'name' => 'test'
], 'age');
// 根据主键删除数据
Table::destory(1);
// 如果传入的ID是数组格式,则会使用IN查询删除主键
Table::destory([1,2,3]);
// 写入数据
Table::insert([
'name' => 'test',
'age' => 20
]);
// 批量插入数据
Table::insert([
[
'name' => 'test',
'age' => 20
],
[
'name' => 'test',
'age' => 20
],
[
'name' => 'test',
'age' => 20
]
], TRUE);
// 更新数据
Table::update([
'name' => 'test'
], [
'age' => 30
]);
// 写入或更新,如果存在则更新,不存在则写入
// 第一个参数为查询条件
// 第二个参数为数据不存在时的写入信息
// 第三个参数为数据存在时的更新信息
Table::insertOrUpdate([
'name' => 'test'
], [
'name' => 'test',
'age' => 25
], [
'age' => 20
]);
// 如果只希望在数据不存在时写入数据,则第三个参数不传,例如:
Table::insertOrUpdate([
'name' => 'test'
], [
'name' => 'test',
'age' => 25
]);
}
// 递增,ID为的的数据点击数递增1
Table::inc([
'id' => 1
], [
'hit' => 1
]);
// 递减,ID为的的数据点击数递减1
Table::dec([
'id' => 1
], [
'hit' => 1
]);
~~~