MysqlQuery
扩展 PdoQueryMySQL 查询构建类。
自 |
1.0 |
---|---|
包 |
Joomla 框架 |
方法
__clone
提供基本复制支持的方法。
__clone() :
推送到此类数据中的任何对象都应具有自己的 __clone() 实现。此方法不支持在多维数组中复制对象。
自 |
1.0 |
---|
响应
void
__construct
类构造函数。
__construct(\Joomla\Database\DatabaseInterface db = null) :
__get
获取受保护变量值的魔法函数
__get( name) :
自 |
1.0 |
---|
参数
- name
string
变量的名称。
响应
混合
__toString
将查询转换为字符串的魔法函数。
__toString() :
自 |
2.0.0 |
---|
响应
string
完成的查询。
alias
为当前查询添加别名。
alias( alias) :
用法:$query->select('*')->from('#__a')->alias('subquery');
自 |
2.0.0 |
---|
参数
- alias
string
用于 JDatabaseQuery 的别名。
响应
$this
andWhere
使用 AND 和单个条件或条件数组扩展 WHERE 子句。
andWhere( conditions, glue = 'OR') :
用法:$query->where(array('a = 1', 'b = 2'))->andWhere(array('c = 3', 'd = 4')); 将生成:WHERE ((a = 1 AND b = 2) AND (c = 3 OR d = 4)
自 |
1.3.0 |
---|
参数
- conditions
mixed
WHERE 条件的字符串或数组。- glue
string
用于连接条件的粘合剂。默认为 OR。
响应
$this
bind
将变量添加到将在查询执行之前绑定到准备好的 SQL 语句的内部数组的方法。
bind(array|string|int key, &value, array|string dataType = ParameterType::STRING, length, mixed||string|int driverOptions = []) :
自 |
1.5.0 |
---|---|
抛出 |
|
参数
- key
array<string|int, mixed>|string|int
将在 SQL 查询中用来引用值的键。通常采用 ':key' 的形式,但也可以是整数。- value
mixed
将绑定的值。它可以是数组,在这种情况下它必须与 $key 的长度相同;该值通过引用传递以支持输出参数,例如存储过程可能支持的输出参数。- dataType
array<string|int, mixed>|string
对应于 SQL 数据类型的常量。它可以是数组,在这种情况下它必须与 $key 的长度相同- length
int
变量的长度。通常需要用于 OUTPUT 参数。- driverOptions
array<string|int, mixed>
要使用的可选驱动程序选项。
响应
$this
bindArray
绑定一组值并返回一组准备好的参数名称。
bindArray(mixed||string|int values, array|string dataType = ParameterType::INTEGER) : mixed||string|int
请注意,所有值必须是相同的数据类型。
用法:$query->where('column in (' . implode(',', $query->bindArray($keyValues, $dataType)) . ')');
自 |
2.0.0 |
---|
参数
- values
array<string|int, mixed>
要绑定的值- dataType
array<string|int, mixed>|string
对应于 SQL 数据类型的常量。它可以是数组,在这种情况下它必须与 $key 的长度相同
响应
array<string|int, mixed>
包含参数名称的数组
call
将单个列或列数组添加到查询的 CALL 子句。
call( columns) :
用法:$query->call('a.')->call('b.id'); $query->call(array('a.', 'b.id'));
自 |
1.0 |
---|---|
抛出 |
|
参数
- columns
mixed
字符串或字段名称数组。
响应
$this
castAs
将值转换为字符。
castAs( type, value, length = null) :
确保在传递给方法之前正确引用了值。
用法:$query->select($query->castAs('CHAR', 'a'));
自 |
1.0 |
---|
参数
- type
string
要转换为的字符串类型。- value
string
要转换为字符的值。- length
string
要转换为字符的值。
响应
string
将值转换为字符类型的 SQL 语句。
castAsChar
将值转换为字符。
castAsChar( value, len = null) :
确保在传递给方法之前正确引用了值。
用法:$query->select($query->castAsChar('a')); $query->select($query->castAsChar('a', 40));
自 |
1.8.0 |
---|
参数
- value
string
要转换为字符的值。- len
string
字符的长度。
响应
string
返回转换后的值。
charLength
获取字符串中的字符数。
charLength( field, string|null operator = null, string|null condition = null) :
请注意,使用 'length' 可以查找字符串中的字节数。
用法:$query->select($query->charLength('a'));
自 |
1.0 |
---|
参数
- field
string
值。- operator
string|null
charLength 整数值与 $condition 之间的比较运算符- condition
string|null
要与 charLength 进行比较的整数值。
响应
string
所需的 char length 调用。
clear
从查询或查询的特定子句中清除数据。
clear( clause = null) :
自 |
1.0 |
---|
参数
- clause
string
可选,要清除的子句的名称,或清除整个查询。
响应
$this
columns
添加将用于 INSERT INTO 语句的列或列名称数组。
columns(array|string columns) :
自 |
1.0 |
---|
参数
- columns
array<string|int, mixed>|string
列名称或列名称数组。
响应
$this
concatenate
连接列名称或值的数组。
concatenate(string||string|int values, string|null separator = null) :
自 |
2.0.0 |
---|
参数
- values
array<string|int, string>
要连接的值数组。- separator
string|null
用作每个值之间的分隔符。
响应
string
连接后的值。
currentTimestamp
获取当前日期和时间。
currentTimestamp() :
用法:$query->where('published_up < '.$query->currentTimestamp());
自 |
1.0 |
---|
响应
string
dateAdd
添加到当前日期和时间。
dateAdd( date, interval, datePart) :
用法:$query->select($query->dateAdd());
在间隔前加 -(负号)将导致使用减法。注意:并非所有驱动程序都支持所有单位。
link | |
---|---|
自 |
1.5.0 |
参数
- date
string
要添加的日期的 db 引用字符串表示形式。可以是日期或日期时间- interval
string
相应数量的单位的字符串表示形式- datePart
string
要执行加法的日期部分
响应
string
包含相应日期加法 sql 的字符串
dateFormat
返回与数据库驱动程序兼容的 PHP date() 函数日期格式。
dateFormat() :
提供此方法用于将查询对象传递给函数以进行修改。如果您直接访问数据库对象,建议您直接使用 getDateFormat 方法。
自 |
1.0 |
---|---|
抛出 |
|
响应
string
格式字符串。
day
用于获取字符串以从日期列中提取日期。
day( date) :
用法:$query->select($query->day($query->quoteName('dateColumn')));
自 |
1.0 |
---|
参数
- date
string
包含要提取的日期的日期列。
响应
string
返回从日期中提取日期的字符串。
delete
将表名添加到查询的 DELETE 子句。
delete( table = null) :
用法:$query->delete('#__a')->where('id = 1');
自 |
1.0 |
---|---|
抛出 |
|
参数
- table
string
要从中删除的表的名称。
响应
$this
dump
创建查询的 HTML 格式转储,用于调试目的。
dump() :
用法:echo $query->dump();
自 |
1.0 |
---|---|
已弃用 |
3.0 已弃用,未提供替代方法 |
响应
string
e
escape 方法的别名
e( text, extra = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- text
string
要转义的字符串。- extra
bool
可选参数,用于提供额外的转义。
响应
string
转义后的字符串。
escape
将字符串转义以在 SQL 语句中使用的方法。
escape( text, extra = false) :
提供此方法用于将查询对象传递给函数以进行修改。如果您直接访问数据库对象,建议您直接使用 escape 方法。
请注意,'e' 是此方法的别名,因为它在 DatabaseDriver 中也是如此。
自 |
1.0 |
---|---|
抛出 |
|
参数
- text
string
要转义的字符串。- extra
bool
可选参数,用于提供额外的转义。
响应
string
转义后的字符串。
exec
将单个列或列数组添加到查询的 EXEC 子句。
exec(array|string columns) :
用法:$query->exec('a.')->exec('b.id'); $query->exec(array('a.', 'b.id'));
自 |
1.0 |
---|---|
抛出 |
|
参数
- columns
array<string|int, mixed>|string
字符串或字段名称数组。
响应
$this
extendWhere
使用与当前 WHERE 子句中可能不同的逻辑运算符,使用单个条件或条件数组扩展 WHERE 子句。
extendWhere( outerGlue, conditions, innerGlue = 'AND') :
用法:$query->where(array('a = 1', 'b = 2'))->extendWhere('XOR', array('c = 3', 'd = 4')); 将生成:WHERE ((a = 1 AND b = 2) XOR (c = 3 AND d = 4)
自 |
1.3.0 |
---|
参数
- outerGlue
string
用于将条件连接到当前 WHERE 条件的粘合剂。- conditions
mixed
WHERE 条件的字符串或数组。- innerGlue
string
用于连接条件的粘合剂。默认为 AND。
响应
$this
findInSet
在用作集合的 varchar 中查找值。
findInSet( value, set) :
确保在传递给方法之前值为整数。
用法:$query->findInSet((int) $parent->id, 'a.assigned_cat_ids')
自 |
2.0.0 |
---|
参数
- value
string
要搜索的值。- set
string
值集。
响应
string
驱动程序中 MySQL find_in_set() 函数的表示形式。
format
查找并替换格式字符串中的 sprintf 类标记。
format( format) :
每个标记采用以下形式之一:%% - 字面百分比字符。%[t] - 其中 [t] 是类型说明符。%[n]$[x] - 其中 [n] 是参数说明符,[t] 是类型说明符。
类型:a - 数字:替换文本被强制转换为数字类型,但不加引号或转义。e - 转义:替换文本传递给 $this->escape()。E - 转义(额外):替换文本传递给 $this->escape(),并将 true 作为第二个参数。n - 名称引用:替换文本传递给 $this->quoteName()。q - 引用:替换文本传递给 $this->quote()。Q - 引用(不转义):替换文本传递给 $this->quote(),并将 false 作为第二个参数。r - 原始:替换文本按原样使用。(小心)
日期类型
- 替换文本自动加引号(使用大写字母表示名称引用)。
- 替换文本应该是日期格式的字符串或日期列的名称。y/Y - 年份 m/M - 月份 d/D - 日期 h/H - 小时 i/I - 分钟 s/S - 秒
不变类型
- 不接受参数。
- 参数索引不会递增。t - 替换文本是 $this->currentTimestamp() 的结果。z - 替换文本是 $this->nullDate(false) 的结果。Z - 替换文本是 $this->nullDate(true) 的结果。
用法:$query->format('SELECT %1$n FROM %2$n WHERE %3$n = %4$a', 'foo', '#__foo', 'bar', 1); 返回:SELECT foo
FROM #__foo
WHERE bar
= 1
注意:参数说明符是可选的,但建议为清楚起见。仅当使用未指定标记的参数索引时,才会递增。
自 |
1.0 |
---|
参数
- format
string
格式字符串。
响应
string
根据格式字符串返回生成的字符串。
from
向查询的 FROM 子句添加表。
from(string|\Joomla\Database\DatabaseQuery table) :
用法:$query->select('')->from('#__a'); $query->select('')->from($subquery->alias('a'));
自 |
1.0 |
---|---|
抛出 |
|
参数
- table
string|DatabaseQuery
表的名称或带有别名的 DatabaseQuery 对象(或其子类)。
响应
$this
getBounded
当键为 null 时检索绑定参数数组,并按引用返回。如果提供了键,则返回该项。
getBounded( key = null) :
自 |
1.5.0 |
---|
参数
- key
mixed
要检索的绑定变量键。
响应
混合
group
向查询的 GROUP 子句添加分组列。
group(array|string columns) :
用法:$query->group('id');
自 |
1.0 |
---|
参数
- columns
array<string|int, mixed>|string
排序列的字符串或数组。
响应
$this
groupConcat
聚合函数,用于将输入值连接成一个字符串,用分隔符隔开
groupConcat( expression, separator = ',') :
用法:$query->groupConcat('id', ',');
自 |
2.0.0 |
---|
参数
- 表达式
string
要应用连接的表达式,可以是列名或复杂的 SQL 语句。- separator
string
每个连接值的定界符
响应
string
输入值连接成的字符串,用分隔符隔开
having
查询的 HAVING 子句的条件。
having(array|string conditions, glue = 'AND') :
用法:$query->group('id')->having('COUNT(id) > 5');
自 |
1.0 |
---|
参数
- conditions
array<string|int, mixed>|string
列的字符串或数组。- glue
string
用于连接条件的粘合剂。默认为 AND。
响应
$this
hour
用于获取从日期列中提取小时的字符串。
hour( date) :
用法:$query->select($query->hour($query->quoteName('dateColumn')));
自 |
1.0 |
---|
参数
- date
string
包含要提取的小时的日期列。
响应
string
返回从日期中提取小时的字符串。
innerJoin
向查询添加 INNER JOIN 子句。
innerJoin( table, condition = null) :
用法:$query->innerJoin('b', 'b.id = a.id')->innerJoin('c', 'c.id = b.id');
自 |
1.0 |
---|
参数
- table
string
表的名称。- condition
string
连接条件。
响应
$this
insert
向查询的 INSERT 子句添加表名。
insert( table, incrementField = false) :
用法:$query->insert('#__a')->set('id = 1'); $query->insert('#__a')->columns('id, title')->values('1,2')->values('3,4'); $query->insert('#__a')->columns('id, title')->values(array('1,2', '3,4'));
自 |
1.0 |
---|---|
抛出 |
|
参数
- table
string
要插入数据的表的名称。- 递增字段
bool
要自动递增的字段的名称。
响应
$this
isNullDatetime
生成一个 SQL 语句,用于检查列是否表示零或 null 日期时间。
isNullDatetime( column) :
用法:$query->where($query->isNullDatetime('modified_date'));
自 |
2.0.0 |
---|
参数
- 列
string
列名。
响应
string
join
向查询添加 JOIN 子句。
join( type, table, condition = null) :
用法:$query->join('INNER', 'b', 'b.id = a.id);
自 |
1.0 |
---|
参数
- type
string
连接类型。此字符串将附加到 JOIN 关键字之前。- table
string
表的名称。- condition
string
连接条件。
响应
$this
leftJoin
向查询添加 LEFT JOIN 子句。
leftJoin( table, condition = null) :
用法:$query->leftJoin('b', 'b.id = a.id')->leftJoin('c', 'c.id = b.id');
自 |
1.0 |
---|
参数
- table
string
表的名称。- condition
string
连接条件。
响应
$this
length
获取字符串的字节长度。
length( value) :
注意,使用“charLength”查找字符串中的字符数。
用法:query->where($query->length('a').' > 3');
自 |
1.0 |
---|
参数
- value
string
要测量的字符串。
响应
string
merge
使用一组运算符之一将 select 语句与当前查询组合在一起。
merge( name, \Joomla\Database\DatabaseQuery|string query) :
运算符:UNION、UNION ALL、EXCEPT 或 INTERSECT。
自 |
2.0.0 |
---|
参数
- name
string
带括号的集合运算符的名称。- 查询
DatabaseQuery|string
DatabaseQuery 对象或字符串。
响应
$this
minute
用于获取从日期列中提取分钟的字符串。
minute( date) :
用法:$query->select($query->minute($query->quoteName('dateColumn')));
自 |
1.0 |
---|
参数
- date
string
包含要提取的分钟的日期列。
响应
string
返回从日期中提取分钟的字符串。
month
用于获取从日期列中提取月份的字符串。
month( date) :
用法:$query->select($query->month($query->quoteName('dateColumn')));
自 |
1.0 |
---|
参数
- date
string
包含要提取的月份的日期列。
响应
string
返回从日期中提取月份的字符串。
nullDate
获取数据库驱动程序的时间戳的 null 或零表示形式。
nullDate( quoted = true) :
此方法适用于将查询对象传递给函数进行修改的情况。如果您可以直接访问数据库对象,建议您直接使用 nullDate 方法。
用法:$query->where('modified_date <> '.$query->nullDate());
自 |
1.0 |
---|---|
抛出 |
|
参数
- 引用
bool
可选地将 null 日期包装在数据库引号中(默认值为 true)。
响应
string
时间戳的 null 或零表示形式。
order
向查询的 ORDER 子句添加排序列。
order(array|string columns) :
用法:$query->order('foo')->order('bar'); $query->order(array('foo','bar'));
自 |
1.0 |
---|
参数
- columns
array<string|int, mixed>|string
排序列的字符串或数组。
响应
$this
orWhere
使用 OR 和单个条件或条件数组扩展 WHERE 子句。
orWhere( conditions, glue = 'AND') :
用法:$query->where(array('a = 1', 'b = 2'))->orWhere(array('c = 3', 'd = 4')); 将生成:WHERE ((a = 1 AND b = 2) OR (c = 3 AND d = 4)
自 |
1.3.0 |
---|
参数
- conditions
mixed
WHERE 条件的字符串或数组。- glue
string
用于连接条件的粘合剂。默认为 AND。
响应
$this
outerJoin
向查询添加 OUTER JOIN 子句。
outerJoin( table, condition = null) :
用法:$query->outerJoin('b', 'b.id = a.id')->leftJoin('c', 'c.id = b.id');
自 |
1.0 |
---|
参数
- table
string
表的名称。- condition
string
连接条件。
响应
$this
processLimit
用于修改以字符串格式存在的查询的方法,需要添加一些内容来使查询限制在特定数量的结果上,或从特定偏移量开始。
processLimit( query, limit, offset) :
自 |
2.0.0 |
---|
参数
- 查询
string
以字符串格式存在的查询- 限制
int
结果集的限制- 偏移量
int
结果集的偏移量
响应
string
q
quote 方法的别名
q(array|string text, escape = true) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- text
array<string|int, mixed>|string
要加引号的字符串或字符串数组。- escape
bool
True(默认值)表示转义字符串,false 表示保持不变。
响应
string
带引号的输入字符串。
qn
quoteName 方法的别名
qn(array|string name, array|string as = null) : array|string
自 |
1.0 |
---|---|
抛出 |
|
参数
- name
array<string|int, mixed>|string
要包装在引号中的标识符名称,或要包装在引号中的标识符名称数组。每种类型都支持点表示法名称。- 作为
array<string|int, mixed>|string
与 $name 关联的 AS 查询部分。它可以是字符串或数组,如果是后者,则必须与 $name 的长度相同;如果为 null,则字符串或数组元素不会有任何 AS 部分。
响应
array<string|int, mixed>|string
带引号的包装名称,与 $name 的类型相同。
querySet
将单个查询设置为查询集。
querySet(\Joomla\Database\DatabaseQuery query) :
在此类型的 DatabaseQuery 上,您可以使用 union()、unionAll()、order() 和 setLimit()
用法:$query->querySet($query2->select('name')->from('#__foo')->order('id DESC')->setLimit(1)) ->unionAll($query3->select('name')->from('#__foo')->order('id')->setLimit(1)) ->order('name') ->setLimit(1)
自 |
2.0.0 |
---|
参数
- 查询
DatabaseQuery
DatabaseQuery 对象或字符串。
响应
$this
quote
用于引用并可选地转义字符串以满足数据库插入数据库的要求的方法。
quote(array|string text, escape = true) :
此方法适用于将查询对象传递给函数进行修改的情况。如果您可以直接访问数据库对象,建议您直接使用 quote 方法。
请注意,“q”是此方法的别名,因为它存在于 DatabaseDriver 中。
用法:$query->quote('fulltext'); $query->q('fulltext'); $query->q(array('option', 'fulltext'));
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- text
array<string|int, mixed>|string
要加引号的字符串或字符串数组。- escape
bool
True(默认值)表示转义字符串,false 表示保持不变。
响应
string
带引号的输入字符串。
quoteName
将 SQL 语句标识符名称(如列、表或数据库名称)包装在引号中,以防止注入风险和保留字冲突。
quoteName(array|string name, array|string as = null) : array|string
此方法适用于将查询对象传递给函数进行修改的情况。如果您可以直接访问数据库对象,建议您直接使用 quoteName 方法。
请注意,“qn”是此方法的别名,因为它存在于 DatabaseDriver 中。
用法:$query->quoteName('#__a'); $query->qn('#__a');
自 |
1.0 |
---|---|
抛出 |
|
参数
- name
array<string|int, mixed>|string
要包装在引号中的标识符名称,或要包装在引号中的标识符名称数组。每种类型都支持点表示法名称。- 作为
array<string|int, mixed>|string
与 $name 关联的 AS 查询部分。它可以是字符串或数组,如果是后者,则必须与 $name 的长度相同;如果为 null,则字符串或数组元素不会有任何 AS 部分。
响应
array<string|int, mixed>|string
带引号的包装名称,与 $name 的类型相同。
rand
获取返回随机浮点数的函数
rand() :
用法:$query->rand();
自 |
2.0.0 |
---|
响应
string
regexp
获取正则表达式运算符
regexp( value) :
用法:$query->where('field ' . $query->regexp($search));
自 |
2.0.0 |
---|
参数
- value
string
正则表达式模式。
响应
string
rightJoin
向查询添加 RIGHT JOIN 子句。
rightJoin( table, condition = null) :
用法:$query->rightJoin('b', 'b.id = a.id')->rightJoin('c', 'c.id = b.id');
自 |
1.0 |
---|
参数
- table
string
表的名称。- condition
string
连接条件。
响应
$this
second
用于获取从日期列中提取秒的字符串。
second( date) :
用法:$query->select($query->second($query->quoteName('dateColumn')));
自 |
1.0 |
---|
参数
- date
string
包含要提取的秒的日期列。
响应
string
返回从日期中提取秒的字符串。
select
向查询的 SELECT 子句添加单个列或列数组。
select(array|string columns) :
请注意,在构建查询时,您不能混合使用 insert、update、delete 和 select 方法调用。但是,可以在同一个查询中多次调用 select 方法。
用法:$query->select('a.')->select('b.id'); $query->select(array('a.', 'b.id'));
自 |
1.0 |
---|---|
抛出 |
|
参数
- columns
array<string|int, mixed>|string
字符串或字段名称数组。
响应
$this
selectRowNumber
返回当前行的行号。
selectRowNumber( orderBy, orderColumnAlias) :
用法:$query->select('id'); $query->selectRowNumber('ordering,publish_up DESC', 'new_ordering'); $query->from('#__content');
自 |
2.0.0 |
---|---|
抛出 |
|
待办事项 |
当数据库版本要求提高到 >= 8.0.0(对于 MySQL)和 >= 10.2.0(对于 MariaDB)时,请删除此方法,以便在任何情况下都可以使用 ROW_NUMBER() 窗口函数。 |
参数
- orderBy
string
窗口函数的排序表达式。- orderColumnAlias
string
新排序列的别名。
响应
$this
set
向查询的 SET 子句添加单个条件字符串或字符串数组。
set(array|string conditions, glue = ',') :
用法:$query->set('a = 1')->set('b = 2'); $query->set(array('a = 1', 'b = 2');
自 |
1.0 |
---|
参数
- conditions
array<string|int, mixed>|string
条件字符串的字符串或数组。- glue
string
用于连接条件字符串的粘合剂。默认为 ,. 请注意,粘合剂在第一次使用时设置,不能更改。
响应
$this
setLimit
设置结果集的偏移量和限制,如果数据库驱动程序支持。
setLimit( limit, offset) :
用法:$query->setLimit(100, 0);(从第一条记录开始检索 100 行) $query->setLimit(50, 50);(从第 50 条记录开始检索 50 行)
自 |
2.0.0 |
---|
参数
- 限制
int
结果集的限制- 偏移量
int
结果集的偏移量
响应
$this
setQuery
允许将直接查询提供给数据库驱动程序的 setQuery() 方法,但仍允许查询具有绑定变量。
setQuery(\Joomla\Database\DatabaseQuery|string sql) :
用法:$query->setQuery('select * from #__users');
自 |
1.0 |
---|
参数
- sql
DatabaseQuery|string
SQL 查询字符串或 DatabaseQuery 对象
响应
$this
toQuerySet
从当前查询创建一个类型为 querySet 的 DatabaseQuery 对象。
toQuerySet() : \Joomla\Database\DatabaseQuery
用法:$query->select('name')->from('#__foo')->order('id DESC')->setLimit(1) ->toQuerySet() ->unionAll($query2->select('name')->from('#__foo')->order('id')->setLimit(1)) ->order('name') ->setLimit(1)
自 |
2.0.0 |
---|
响应
DatabaseQuery
一个新的 DatabaseQuery 对象。
unbind
解除绑定变量的方法。
unbind(array|string|int key) :
自 |
2.0.0 |
---|
参数
- key
array<string|int, mixed>|string|int
要解除绑定的键或键数组。
响应
$this
union
将一个查询添加到当前查询的 UNION 中。
union(\Joomla\Database\DatabaseQuery|string query, distinct = true) :
用法:$query->union('SELECT name FROM #__foo') $query->union('SELECT name FROM #__foo', true)
自 |
1.0 |
---|
参数
- 查询
DatabaseQuery|string
要合并的 DatabaseQuery 对象或字符串。- distinct
bool
为 true 仅从联合中返回不同的行。
响应
$this
unionAll
将一个查询添加到当前查询的 UNION ALL 中。
unionAll(\Joomla\Database\DatabaseQuery|string query) :
用法:$query->unionAll('SELECT name FROM #__foo')
see | union |
---|---|
自 |
1.5.0 |
参数
- 查询
DatabaseQuery|string
要合并的 DatabaseQuery 对象或字符串。
响应
$this
update
向查询的 UPDATE 子句添加表名。
update( table) :
用法:$query->update('#__foo')->set(...);
自 |
1.0 |
---|---|
抛出 |
|
参数
- table
string
要更新的表。
响应
$this
validateRowNumber
验证传递给 selectRowNumber 方法的参数,并设置通用变量。
validateRowNumber( orderBy, orderColumnAlias) :
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- orderBy
string
窗口函数的排序表达式。- orderColumnAlias
string
新排序列的别名。
响应
void
values
添加一个元组,或用于 INSERT INTO 语句的元组数组作为值。
values(array|string values) :
用法:$query->values('1,2,3')->values('4,5,6'); $query->values(array('1,2,3', '4,5,6'));
自 |
1.0 |
---|
参数
- values
array<string|int, mixed>|string
单个元组或元组数组。
响应
$this
where
向查询的 WHERE 子句添加单个条件或条件数组。
where(array|string conditions, glue = 'AND') :
用法:$query->where('a = 1')->where('b = 2'); $query->where(array('a = 1', 'b = 2'));
自 |
1.0 |
---|
参数
- conditions
array<string|int, mixed>|string
字符串或 where 条件数组。- glue
string
用于连接条件的粘合剂。默认为 AND。请注意,粘合剂在第一次使用时设置,无法更改。
响应
$this
whereIn
向查询添加 WHERE IN 语句。
whereIn( keyName, mixed||string|int keyValues, array|string dataType = ParameterType::INTEGER) :
请注意,所有值必须是相同的数据类型。
用法 $query->whereIn('id', [1, 2, 3]);
自 |
2.0.0 |
---|
参数
- keyName
string
where 子句的键名- keyValues
array<string|int, mixed>
要匹配的值数组- dataType
array<string|int, mixed>|string
与 SQL 数据类型相对应的常量。它可以是数组,在这种情况下,它必须与 $keyValues 的长度相同
响应
$this
whereNotIn
向查询添加 WHERE NOT IN 语句。
whereNotIn( keyName, mixed||string|int keyValues, array|string dataType = ParameterType::INTEGER) :
请注意,所有值必须是相同的数据类型。
用法 $query->whereNotIn('id', [1, 2, 3]);
自 |
2.0.0 |
---|
参数
- keyName
string
where 子句的键名- keyValues
array<string|int, mixed>
要匹配的值数组- dataType
array<string|int, mixed>|string
与 SQL 数据类型相对应的常量。它可以是数组,在这种情况下,它必须与 $keyValues 的长度相同
响应
$this
year
用于获取字符串以从日期列中提取年份。
year( date) :
用法:$query->select($query->year($query->quoteName('dateColumn')));
自 |
1.0 |
---|
参数
- date
string
包含要提取的年份的日期列。
响应
string
返回从日期中提取年份的字符串。
属性
bounded
保存绑定对象的键值对。
类型
array<string|int, mixed>
parameterMapping
参数类型的映射数组。
类型
array<string|int, mixed>
sql
SQL 查询(如果提供了直接查询字符串)。
类型
string
type
查询类型。
类型
string
alias
查询别名。
类型
string|null
autoIncrementField
自动递增插入字段元素。
类型
bool
selectRowNumber
窗口函数的详细信息。
类型
array<string|int, mixed>|null
nullDatetimeList
日期时间的零或空表示列表。
类型
array<string|int, string>
偏移量
结果集的偏移量。
类型
int|null
限制
结果集的限制。
类型
int|null
preparedIndex
bindArray 函数用于唯一准备参数的内部索引。
类型
int
bounded
保存绑定对象的键值对。
自 |
2.0.0 |
---|
类型
array<string|int, mixed>
parameterMapping
参数类型的映射数组。
自 |
2.0.0 |
---|
类型
array<string|int, mixed>
sql
SQL 查询(如果提供了直接查询字符串)。
自 |
1.0 |
---|
类型
string
type
查询类型。
自 |
1.0 |
---|
类型
string|null
alias
查询别名。
自 |
2.0.0 |
---|
类型
string|null
autoIncrementField
自动递增插入字段元素。
自 |
1.0 |
---|
类型
bool
merge
查询元素列表,其中可能包括 UNION、UNION ALL、EXCEPT 和 INTERSECT。
querySet
查询对象。
自 |
2.0.0 |
---|
类型
DatabaseQuery
selectRowNumber
窗口函数的详细信息。
自 |
2.0.0 |
---|
类型
array<string|int, mixed>|null
nullDatetimeList
日期时间的零或空表示列表。
自 |
2.0.0 |
---|
类型
array<string|int, mixed>
偏移量
结果集的偏移量。
自 |
2.0.0 |
---|
类型
int|null
限制
结果集的限制。
自 |
2.0.0 |
---|
类型
int|null
preparedIndex
bindArray 函数用于唯一准备参数的内部索引。
自 |
2.0.0 |
---|
类型
int