Yii中查询标准criteria理解
来源:互联网 发布:ubuntu获取管理员权限 编辑:程序博客网 时间:2024/06/03 07:20
查询标准是 CDbCriteria 的实例,它直接从 CComponent 派生,并且无子类,说明它具有相对独立性。从手册的解释看,查询标准意味着查询时的一些条件、排序、记录范围。CDbCriteria 属于包 system.db.schema,也表明它只为数据库服务,不在 system.db.ar下,说明它本身应该和 AR 没必然关系。
查询标准实例方法compare() -------- 作用:添加(追加)一个比较表达式到 condition属性
public CDbCriteria compare(string $column, mixed $value, boolean $partialMatch=false, string $operator='AND', boolean $escape=true)
$column 是被比较的列名
$value 是比较的值
$partialMatch指示是否使用模糊匹配,即 LIKE或NOT LIKE
$operator 可以 < 、>、<=、>=、<>、=,如果不是这些值,表示相等或部分相等(模糊匹配,子串匹配),同时可以用AND 或 OR 表明新的条件和已有条件的关系
$escape 表示是否使用转义,在使用模糊匹配时必须转义
查询标准的属性$condition -------------作用:相当于 WHERE 子句,用一个字符串指定
查询标准实例方法addCondition() ----------作用:追加一个条件到已经存在的条件中(默认是AND关系)
public CDbCriteria addCondition(mixed $condition, string $operator='AND')
另外有
public CDbCriteria addInCondition(string $column, array $values, string $operator='AND')
public CDbCriteria addNotInCondition(string $column, array $values, string $operator='AND')
基本上SELECT查询中的各个部分都有对应的属性或方法
前面讲述CGridView中的searchNotInGroup,存在无法正常使用筛选器的问题,因为没有加列比较的条件,我们通过细化查询标准,可以解决:
public function searchNotInGroup(Group $group) { $connection = Yii::app()->db; $sql = 'select user_id from {{role}} except select user_id from {{role}} where '. 'group_id='.$group->id; $command = $connection->createCommand($sql); $rows = $command->queryAll(); $user_ids = array(); foreach($rows as $row) $user_ids[] = $row['user_id']; $criteria = new CDbCriteria; $criteria->compare('username', $this->username, true); //用户名模糊查询 $criteria->compare('status', $this->status); $criteria->addInCondition('id', $user_ids); $criteria->order = 'username'; return new CActiveDataProvider('User', array( 'criteria' => $criteria, 'pagination' => array( 'pageSize' => 3, ), )); }
- Yii中查询标准criteria理解
- Yii Criteria 查询用法
- yii criteria 数据模型查询数据信息
- hibernate中criteria查询
- MongoDB中Criteria查询
- hibernate中Criteria查询
- Hibernate的查询 标准(Criteria)查询
- Hibernate的查询 标准(Criteria)查询
- Hibernate的查询 标准(Criteria)查询
- (3) Hibernate的查询 标准(Criteria)查询
- Yii Criteria
- Yii Criteria
- Yii Criteria
- Hibernate的查询 标准(Criteria)查询 分页、单个记录、排序
- Hibernate的查询 标准(Criteria)查询 聚合和分组
- Hibernate的查询 标准(Criteria)查询 聚合和分组
- Hibernate的查询 标准(Criteria--Projections)查询----- 聚合和分组
- Hibernate的查询 标准(Criteria)查询 分页、单个记录、排序
- Java Swing界面编程(21)---事件处理:窗体事件
- 博客搬家了
- Struts2 的国际化实现
- hello world
- 基于Linux C的socket抓包程序和Package分析 (二)
- Yii中查询标准criteria理解
- NYOJ248-BUYING FEED
- Android WifiDisplay分析一:相关Service的启动
- leetcode: Search Insert Position
- Android WifiDisplay分析二:Wifi display连接过程
- 条款22:将成员变量声明为private
- memset,memcpy实现
- Android WifiDisplay分析三:RTSP交互以及数据传输
- rdgdhth当天然后突然发觉的一条街一条街一条街