数据库-链式查询
where
where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。
table
table方法主要用于指定操作的数据表。
alias
alias用于设置当前数据表的别名,便于使用其他的连贯操作例如join方法等。
field
field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作。
order
order方法属于模型的连贯操作方法之一,用于对操作的结果排序。
limit
limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多。ThinkPHP的limit方法可以兼容所有的数据库驱动类的。
page
page方法也是模型的连贯操作方法之一,是完全为分页查询而诞生的一个人性化操作方法。
group
GROUP方法也是连贯操作方法之一,通常用于结合合计函数,根据一个或多个列对结果集进行分组 。
having
HAVING方法也是连贯操作之一,用于配合group方法完成从分组的结果中筛选(通常是聚合条件)数据。
join
join通常有下面几种类型,不同类型的join操作会影响返回的数据结果。
- INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行
- LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN: 只要其中一个表中存在匹配,就返回行
union
UNION操作用于合并两个或多个 SELECT 语句的结果集。
distinct
DISTINCT 方法用于返回唯一不同的值 。
lock
Lock方法是用于数据库的锁机制,如果在查询或者执行操作的时候使用:
cache
cache方法用于查询缓存操作,也是连贯操作方法之一。
cache可以用于select
、find
、value
和column
方法,以及其衍生方法,使用cache
方法后,在缓存有效期之内不会再次进行数据库查询操作,而是直接获取缓存中的数据,关于数据缓存的类型和设置可以参考缓存部分。
comment
COMMENT方法 用于在生成的SQL语句中添加注释内容,
fetchSql
fetchSql用于直接返回SQL而不是执行查询,适用于任何的CURD操作方法。
force
force 方法用于数据集的强制索引操作,
bind
bind方法用于手动参数绑定,大多数情况,无需进行手动绑定,系统会在查询和写入数据的时候自动使用参数绑定。
partition
partition 方法用于是数据库水平分表
partition($data, $field, $rule);
// $data 分表字段的数据
// $field 分表字段的名称
// $rule 分表规则
strict
strict
方法用于设置是否严格检查字段名,
failException
failException
设置查询数据为空时是否需要抛出异常,如果不传入任何参数,默认为开启,用于select
和find
方法,
sequence
sequence
方法用于pgsql
数据库指定自增序列名,其它数据库不必使用,用法为:
Db::name('user')->sequence('id')->insert(['name'=>'thinkphp']);