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

抛出

RuntimeException如果内部 db 属性不是有效的对象。

参数

文本

array<string|int, mixed>|string要引用的字符串或字符串数组。

转义

boolTrue(默认值)以转义字符串,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

抛出

RuntimeException

待办事项

当数据库版本要求已提升至 >= 8.0.0(对于 MySQL)和 >= 10.2.0(对于 MariaDB)时,移除此方法,以便 ROW_NUMBER() 窗口函数可以在任何情况下使用。

参数

orderBy

string窗口函数的排序表达式。

orderColumnAlias

string新排序列的别名。

响应

$this