yii 如何以 CDbCriteria 方式查询数据库(二)

PHP  Yii  MySQL  

CDbCriteria是yii封装的一个数据库查询类,类似于一种格式化的数据库查询方式。其目的是为了让数据库查询更加的灵活和清晰,与php手册的数据库操作稍有区别。


addBetweenCondition() 方法 (v1.1.2后增加)

public static addBetweenCondition(string $column, string $valueStart, string $valueEnd, string $operator='AND')

$columnstring需要设置区间查询条件的列名
$valueStartstring区间查询的起始值
$valueEndstring区间查询的结束值
$operatorstring本查询条件与其它查询条件的连接符,默认为 'AND'
{return}staticcriteria 对象自身

Source Code: framework/db/schema/CDbCriteria.php#468 (show)

Adds a between condition to the condition property. 

addColumnCondition() 方法

public static addColumnCondition(array $columns, string $columnOperator='AND', string $operator='AND')

$columnsarray列名和需要对比值的列表 (name=>value)
$columnOperatorstring各查询条件之间的连接符,默认为 'AND'
$operatorstring本查询条件与其它查询条件的连接符,默认为 'AND'
{return}staticcriteria 对象自身

Source Code: framework/db/schema/CDbCriteria.php#354 (show)


addCondition() 方法

public static addCondition(mixed $condition, string $operator='AND')

$conditionmixed新的查询条件,可以是字符串或者一个字符串数组
$operatorstring不同查询条件之间的连接符,默认为 'AND'
{return}staticcriteria 对象自身

Source Code: framework/db/schema/CDbCriteria.php#218 (show)


addInCondition() 方法

public static addInCondition(string $column, array $values, string $operator='AND')

$columnstring列名(或者一个正确的SQL表达式)
$valuesarray查询对比的列值的一个列表,查询结果的列中包含该列表中的值
$operatorstring本查询条件与其它查询条件的连接符,默认为 'AND'
{return}staticcriteria 对象自身

Source Code: framework/db/schema/CDbCriteria.php#274 (show)


addNotInCondition() method (v1.1.1后增加)

public static addNotInCondition(string $column, array $values, string $operator='AND')

$columnstring列名(或者一个正确的SQL表达式)
$valuesarray查询对比的列值的一个列表,查询结果的列中不包含该列表中的值
$operatorstring本查询条件与其它查询条件的连接符,默认为 'AND'
{return}staticcriteria 对象自身

Source Code: framework/db/schema/CDbCriteria.php#315 (show)


addSearchCondition() 方法

public static addSearchCondition(string $column, string $keyword, boolean $escape=true, string $operator='AND', string $like='LIKE')

$columnstring列名(或者一个正确的SQL表达式)
$keywordstring查询的关键字,该关键字的查询受下一个参数的影响
$escapeboolean如果关键字包含字符%或_,是否应该转义该关键字。 当此参数为true(默认值)时,将转义特殊字符%(匹配0个或多个字符)和_(匹配单个字符),并且该关键字将被两端的%字符包围。 当此参数为false时,该关键字将直接用于匹配而不作任何更改。
$operatorstring本查询条件与其它查询条件的连接符,默认为 'AND'
$likestringLIKE操作符。 默认为“LIKE”。 您也可以将其设置为“NOT LIKE”。
{return}staticcriteria 对象自身

Source Code: framework/db/schema/CDbCriteria.php#251 (show)


compare() 方法 (v1.1.1后增加)

public static compare(string $column, mixed $value, boolean $partialMatch=false, string $operator='AND', boolean $escape=true)

$columnstring需要查询的列名
$valuemixed要与之比较的列值。 如果该值为字符串,则将进行上述智能比较。 如果该值是数组,则通过数组中任意值的完全匹配来完成比较。 如果字符串或数组为空,则不会修改现有的搜索条件。
$partialMatchboolean该值是否应考虑部分文本匹配(使用LIKE和NOT LIKE操作符)。 默认为false,意思是精确比较。
$operatorstring本查询条件与其它查询条件的连接符,默认为 'AND'
$escapeboolean如果 $partialMatch为true并且值包含字符%或_,则是否应转义该值。 当此参数为true(默认)时,特殊字符%(匹配0个或更多个字符)和_(匹配单个字符)将被转义,并且该值将被两端的%字符包围。 当此参数为false时,该值将直接用于匹配,无任何更改。
{return}staticcriteria 对象自身

Source Code: framework/db/schema/CDbCriteria.php#414 (show)

向condition属性添加一个比较表达式。


此方法是一个辅助工具,它使用新的比较表达式附加到condition属性。比较通过使用一些比较运算符将列与给定值进行比较来完成。


基于给定值中的前几个字符智能地确定比较运算符。特别地,如果它们在给定值中显示为主要字符,它会识别以下运算符:

  • <:列必须小于给定的值。

  • >:列必须大于给定值。

  • <=:列必须小于或等于给定值。

  • > =:列必须大于或等于给定值。

  • <>:列不能与给定值相同。请注意,当$ partialMatch为true时,这意味着该值不能是列的子字符串。

  • =:列必须等于给定值。

上面没有一个:列必须等于给定的值。请注意,当$partialMatch为true时,这意味着该值必须与给定值相同或是其子串。

请注意,在比较之前,任何周围的白色空格都将从值中删除。当值为空时,不会将比较表达式添加到搜索条件。


mergeWith() 方法

public void mergeWith(mixed $criteria, string|boolean $operator='AND')

$criteriamixed需要合并的查询标准,可以是一个数组或CDbCriteria
$operatorstring|boolean

用来连接 where 和 having 条件的操作符,默认为“AND”。 为了向后兼容,可以传递布尔值: 

- 'OR'对应'false' 

- 'AND'对应'true'

Source Code: framework/db/schema/CDbCriteria.php#494 (show)


toArray() 方法

public array toArray()

{return}array查询标准的数组表示

Source Code: framework/db/schema/CDbCriteria.php#639 (show)


yii 如何以 CDbCriteria 方式查询数据库(一)

时间:2017年04月05日    作者:孟德    分类:后端   浏览:1921    评论:0

链接地址:https://www.abclogs.com/backend_php_yii_cdbcriteria_2.html

评论列表

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。