MysqliQuery
继承自 DatabaseQueryMySQLi 查询构建类。
自 |
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) :
确保在传递给方法之前正确引用了值。
用法:$query->select($query->castAsChar('a'));
自 |
1.0 |
---|---|
已弃用 |
3.0 使用 $query->castAs('CHAR', $value) |
参数
- value
string
要转换为字符的值。
响应
string
将值转换为字符类型的 SQL 语句。
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
要添加到其中的日期的数据库引用字符串表示形式。可以是日期或日期时间- 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
使用一组运算符之一,将选择语句与当前查询组合起来。
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
要包装在引号中的标识符名称,或要包装在引号中的一组标识符名称。每种类型都支持点符号名称。- as
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
要包装在引号中的标识符名称,或要包装在引号中的一组标识符名称。每种类型都支持点符号名称。- as
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
要进行 UNION 操作的 DatabaseQuery 对象或字符串。- distinct
bool
如果设置为 true,则只返回 UNION 操作后的唯一行。
响应
$this
unionAll
将一个查询添加到当前查询中进行 UNION ALL 操作。
unionAll(\Joomla\Database\DatabaseQuery|string query) :
用法: $query->unionAll('SELECT name FROM #__foo')
参见 | union |
---|---|
自 |
1.5.0 |
参数
- 查询
DatabaseQuery|string
要进行 UNION 操作的 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
日期时间为零或 null 的表示列表。
类型
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
日期时间为零或 null 的表示列表。
自 |
2.0.0 |
---|
类型
array<string|int, mixed>
偏移量
结果集的偏移量。
自 |
2.0.0 |
---|
类型
int|null
限制
结果集的限制。
自 |
2.0.0 |
---|
类型
int|null
preparedIndex
bindArray 函数的内部索引,用于唯一准备参数。
自 |
2.0.0 |
---|
类型
int