MysqlQueryBuilder
用于 MySQL 查询构建的特性。
自 |
2.0.0 |
---|---|
包 |
Joomla 框架 |
方法
__toString
将查询转换为字符串的魔术函数。
__toString() :
自 |
2.0.0 |
---|
响应
string
完成的查询。
castAs
将值转换为 char。
castAs( type, value, length = null) :
确保在传递给方法之前正确引用该值。
用法:$query->select($query->castAs('CHAR', 'a'));
自 |
1.0 |
---|
参数
- 类型
string
要转换为的字符串类型。- 值
string
要转换为 char 的值。- 长度
string
要转换为 char 的值。
响应
string
将值转换为 char 类型的 SQL 语句。
concatenate
连接列名称或值的数组。
concatenate(string||string|int values, string|null separator = null) :
自 |
2.0.0 |
---|
参数
- 值
array<string|int, string>
要连接的值数组。- 分隔符
string|null
作为每个值之间要放置的分隔符。
响应
string
连接的值。
findInSet
在像集合一样使用的 varchar 中查找值。
findInSet( value, set) :
确保在传递给方法之前该值是一个整数。
用法:$query->findInSet((int) $parent->id, 'a.assigned_cat_ids')
自 |
2.0.0 |
---|
参数
- 值
string
要搜索的值。- 集合
string
值集合。
响应
string
用于驱动程序的 MySQL find_in_set() 函数的表示形式。
groupConcat
聚合函数,用于将输入值连接到一个字符串中,并以分隔符分隔
groupConcat( expression, separator = ',') :
用法:$query->groupConcat('id', ',');
自 |
2.0.0 |
---|
参数
- 表达式
string
要应用连接的表达式,这可能是列名称或复杂的 SQL 语句。- 分隔符
string
每个连接值的定界符
响应
string
输入值连接到一个字符串中,并以分隔符分隔
processLimit
用于修改已以字符串格式存在的查询的方法,其中需要添加必要的内容以使查询限制在特定数量的结果内,或从特定偏移量开始。
processLimit( query, limit, offset) :
自 |
2.0.0 |
---|
参数
- 查询
string
字符串格式的查询- 限制
int
结果集的限制- 偏移
int
结果集的偏移
响应
字符串
quote
用于将字符串引用并可选地转义为数据库插入数据库所需的要求的方法。
quote(array|string text, escape = true) :
此方法用于在将查询对象传递给函数进行修改的情况下使用。如果您直接访问数据库对象,建议您直接使用 quote 方法。
请注意,'q' 是此方法的别名,因为它在 DatabaseDriver 中也是如此。
用法:$query->quote('fulltext'); $query->q('fulltext'); $query->q(array('option', 'fulltext'));
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- 文本
array<string|int, mixed>|string
要引用的字符串或字符串数组。- 转义
bool
True(默认值)以转义字符串,False 以保持不变。
响应
string
引用的输入字符串。
rand
获取函数以返回随机浮点值
rand() :
用法:$query->rand();
自 |
2.0.0 |
---|
响应
字符串
regexp
获取正则表达式运算符
regexp( value) :
用法:$query->where('field ' . $query->regexp($search));
自 |
2.0.0 |
---|
参数
- 值
string
正则表达式模式。
响应
字符串
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