SqlsrvQuery
继承自 DatabaseQuerySQL Server 查询构建类。
自 |
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() :
自 |
1.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
将值转换为 char。
castAs( type, value, string length = null) :
确保在传递给方法之前正确引用了该值。
用法:$query->select($query->castAs('CHAR', 'a'));
自 |
1.0 |
---|
参数
- type
string
要转换为的字符串类型。- value
string
要转换为 char 的值。- length
string|null
要转换为 char 的值。
响应
string
将值转换为 char 类型的 SQL 语句。
castAsChar
将值转换为 char。
castAsChar( value) :
确保在传递给方法之前正确引用了该值。
用法:$query->select($query->castAsChar('a'));
自 |
1.0 |
---|---|
已弃用 |
3.0 使用 $query->castAs('CHAR', $value) |
参数
- value
string
要转换为 char 的值。
响应
string
将值转换为 char 类型的 SQL 语句。
charLength
获取确定字符字符串长度的函数。
charLength( field, string|null operator = null, string|null condition = null) :
自 |
1.0 |
---|
参数
- field
string
一个值。- operator
string|null
charLength 整数值和 $condition 之间的比较运算符- condition
string|null
要与 charLength 比较的整数值。
响应
string
所需的 char 长度调用。
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) :
自 |
1.0 |
---|
参数
- values
array<string|int, string>
要连接的值数组。- separator
string|null
作为每个值之间要放置的分隔符。
响应
string
连接的值。
currentTimestamp
获取当前日期和时间。
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')
自 |
1.5.0 |
---|
参数
- value
string
要搜索的值。- set
string
值集。
响应
string
驱动程序的 MySQL find_in_set() 函数的表示形式。
fixGroupColumns
将缺少的列名添加到 GROUP BY 子句中。
fixGroupColumns(array||string|int selectColumns) :
自 |
2.0.0 |
---|
参数
- selectColumns
array<string|int, array<string|int, mixed>>
来自 splitSqlExpression 方法的列数组。
响应
$this
fixSelectAliases
在子查询中,为 select 语句中的列添加所需的别名。
fixSelectAliases() : array||string|int
自 |
2.0.0 |
---|
响应
array<string|int, array<string|int, mixed>>
带添加的缺失别名的列数组。
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( columns) : \Joomla\Database\Sqlsrv\SqlsrvQuery
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 语句,用于检查列是否表示零或空日期时间。
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) :
自 |
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
获取数据库驱动程序的 timestamp 的空值或零值表示形式。
nullDate( quoted = true) :
此方法提供用于在将查询对象传递给函数以进行修改时使用。如果您直接访问数据库对象,建议您直接使用 nullDate 方法。
用法:$query->where('modified_date <> '.$query->nullDate());
自 |
1.0 |
---|---|
抛出 |
|
参数
- 引用
bool
可选地将 null 日期包装在数据库引号中(默认值为 true)。
响应
string
timestamp 的空值或零值表示形式。
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 的长度相同;如果为空,则字符串或数组元素将没有 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'));
自 |
1.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 的长度相同;如果为空,则字符串或数组元素将没有 AS 部分。
响应
array<string|int, mixed>|string
包装在引号中的名称,与 $name 的类型相同。
rand
获取用于返回随机浮点值的函数
rand() :
用法:$query->rand();
自 |
1.5.0 |
---|
响应
string
regexp
获取正则表达式运算符
regexp( value) :
用法:$query->where('field ' . $query->regexp($search));
自 |
1.5.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 |
---|---|
抛出 |
|
参数
- 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
splitSqlExpression
将 SQL 表达式字符串拆分为单个列数组。
splitSqlExpression( string) : array||string|int
单行或行尾注释和多行注释将被剥离。始终至少返回一列。
自 |
2.0.0 |
---|
参数
- string
string
SQL 表达式的输入字符串,如 select 表达式。
响应
array<string|int, array<string|int, mixed>>
从输入字符串中分离出来的列,以数组形式。
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
保存绑定对象的键值对。
类型(s)
array<string|int, mixed>
parameterMapping
参数类型的映射数组。
类型(s)
array<string|int, mixed>
sql
SQL 查询(如果提供直接查询字符串)。
类型(s)
string
type
查询类型。
类型(s)
string
alias
查询别名。
类型(s)
string|null
autoIncrementField
自动增量插入字段元素。
类型(s)
bool
selectRowNumber
窗口函数的详细信息。
类型(s)
array<string|int, mixed>|null
nullDatetimeList
日期时间为零或空的列表。
类型(s)
array<string|int, string>
偏移量
结果集的偏移量。
类型(s)
int|null
限制
结果集的限制。
类型(s)
int|null
preparedIndex
bindArray 函数的内部索引,用于唯一准备的参数。
类型(s)
int
bounded
保存绑定对象的键值对。
自 |
2.0.0 |
---|
类型(s)
array<string|int, mixed>
parameterMapping
参数类型的映射数组。
自 |
2.0.0 |
---|
类型(s)
array<string|int, mixed>
sql
SQL 查询(如果提供直接查询字符串)。
自 |
1.0 |
---|
类型(s)
string
type
查询类型。
自 |
1.0 |
---|
类型(s)
string|null
alias
查询别名。
自 |
2.0.0 |
---|
类型(s)
string|null
autoIncrementField
自动增量插入字段元素。
自 |
1.0 |
---|
类型(s)
bool
merge
查询元素列表,可能包括 UNION、UNION ALL、EXCEPT 和 INTERSECT。
querySet
查询对象。
自 |
2.0.0 |
---|
类型(s)
DatabaseQuery
selectRowNumber
窗口函数的详细信息。
自 |
2.0.0 |
---|
类型(s)
array<string|int, mixed>|null
nullDatetimeList
日期时间为零或空的列表。
自 |
2.0.0 |
---|
类型(s)
array<string|int, mixed>
偏移量
结果集的偏移量。
自 |
2.0.0 |
---|
类型(s)
int|null
限制
结果集的限制。
自 |
2.0.0 |
---|
类型(s)
int|null
preparedIndex
bindArray 函数的内部索引,用于唯一准备的参数。
自 |
2.0.0 |
---|
类型(s)
int