数据模型搜索方法:

public function search()
{
  // Warning: Please modify the following code to remove attributes that
  // should not be searched.

  $criteria=new CDbCriteria;

  $criteria->compare('id',$this->id);
  $criteria->compare('title',$this->title,true); //支持模糊查找
  $criteria->compare('content',$this->content,true); //支持模糊查找
  $criteria->compare('type',$this->type);
  $criteria->compare('user',$this->user,true); //支持模糊查找
  $criteria->compare('status',$this->status);
  $criteria->compare('create_data',$this->create_data,true); //支持模糊查找

  return new CActiveDataProvider($this, array(
    'criteria'=>$criteria,
    'pagination'=>array(
      'pageSize'=>50,
    ),
  ));
}

定义比较运算

$criteria->compare('create_time','<='.$this->endtime),//创建早间小于等于指定时间

定义要查找的字段

//查找的结果
$criteria->select = 'id,title,content,author,status,createtime',
//也可以以下一种方式定义
$criteria->select = array('id','title','content','author','status','createtime'),

定义填加查找条件

//定义条件
$criteria->select = 'status=1',
//添加匹配
$criteria->compare('title',$this->title,true),
//添加条件 $condition可以是数组,也可以是字符串,and可以省略
$criteria->addCondition($condition,'and'),
//添加IN条件 $column为字段名
$criteria->addInCondition(string $column, array $values, string $operator='AND')
//添加notin条件
$criteria->addNotInCondition(string $column, array $values, string $operator='AND')
//添加like条件
$criteria->addSearchCondition(string $column, string $keyword),
//添加Between条件
$criteria->addBetweenCondition(string $column, string $valueStart, string $valueEnd, string $operator='AND'),

JOIN连表查询

$criteria->join = 'LEFT JOIN users ON users.id=authorID',

order查询结果排序

$criteria->order = 'createtime DESC',

group结果分组

$criteria->group =  'projectID, teamID',

having筛选分组结果分组数量

$criteria->having =  'SUM(revenue)<50000',

Yii-模型- criteria查找数据库方法的更多相关文章

  1. YII学习,实现基于数据库的后台登录,用户体系.

    上次研究Yii框架写到了要完成用户登陆系统.这次接着上次的写. 参考官方权威指南和参考手册,外加各种博客文章.历尽千辛万苦,数遍天上滴星星.完成了后台用户登录.这里用到了YII框架的 CUserIde ...

  2. Odoo模型的内置方法(可按需重写)

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826222.html ==========模型层面========== 一:_table_exist 检查 ...

  3. 48.Python中ORM模型实现mysql数据库基本的增删改查操作

    首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...

  4. sap透明表、结构、簇介绍以及查找表方法

    sap透明表.结构.簇介绍以及查找表方法 一些人在写开发功能说明书的时候不知道如何去找屏幕字段对应的透明表,下面我来介绍一个比较有效的方法:首先简单介绍一下概念:在SAP中的表的种类有以下三种:Tra ...

  5. 支持“xxxContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库

    将项目的数据库连接用户及密码修改后(切换用户,用户名与原来不一样,用户下对象结构一致),报以下错误: 支持“XXXDBContext”上下文的模型已在数据库创建后发生更改.请考虑使用 Code Fir ...

  6. Django:模型model和数据库mysql(一)

    以一个栗子尝试来记录: 两个表存储在数据库中,BookInfo表示书,HeroInfo表示人物.一本书中有多个人物 在MySQL中新建一个数据库Django1,不用创建表,用Django模型来配置数据 ...

  7. Yii框架2.0 数据库操作初接触

    Yii2.0和Yii1.1版本的变动还是挺多的,我发现配置文件有许多不同,Yii1.1版本里有个main.php 好多信息是在这里配置的,比如默认控制器,数据库连接信息:Yii的数据库配置被单独拿出来 ...

  8. ASP.NET Core Web API + Angular 仿B站(二)后台模型创建以及数据库的初始化

    前言: 本系列文章主要为对所学 Angular 框架的一次微小的实践,对 b站页面作简单的模仿. 本系列文章主要参考资料: 微软文档: https://docs.microsoft.com/zh-cn ...

  9. SQLAlchemy01 /SQLAlchemy去连接数据库、ORM介绍、将ORM模型映射到数据库中

    SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到数据库中 目录 SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到 ...

随机推荐

  1. 在TFS 2013上,使用tf workspace命令删除其他用户的工作区

    8月25日补充:如果想批量删除工作区,你可以使用第三方工具MSBuild Sidekick http://www.attrice.info/downloads;或者自己编写一个bat脚本,但是缺陷是需 ...

  2. MyEclipse和Microsoft Visual Studio常用快捷键

    MyEclipse       Visual Studio            NOTEF5            F11                 单步执行 F6            F1 ...

  3. Google Map 形状显示

    添加多段线 Polyline 构造函数带有一组用于指定线的 LatLng 坐标的 PolylineOptions,以及一组用于调整多段线视觉行为的样式. Polyline 对象在地图上绘制为一系列直线 ...

  4. RabbitMQ与.net core(一)安装

    一.安装Erlang环境 前提:erlang版本与rabbitmq版本需按照要求对应!!! 1.在安装erlang之前先安装下依赖文件(这一步不要忘掉了, 不然后面./configure的时候要报错) ...

  5. python学习笔记——multiprocessing 多进程中的重构方法__init__

    重构: import multiprocessing import time class ClockProcesses(multiprocessing.Process): def __init__(s ...

  6. AP_创建标准发票后会计科目的变化(概念)

    2014-06-04 Created By BaoXinjian 1. 创建Invoice,并查看所创建的科目

  7. [Android&amp;Java]浅谈设计模式-代码篇:观察者模式Observer

    观察者,就如同一个人,对非常多东西都感兴趣,就好像音乐.电子产品.Game.股票等,这些东西的变化都能引起爱好者们的注意并时刻关注他们.在代码中.我们也有这种一种方式来设计一些好玩的思想来.今天就写个 ...

  8. 山东大学硕士/博士研究生毕业论文--Latex模板

    山东大学硕士/博士研究生毕业论文Latex模板 模板下载地址:  https://github.com/Tsingke/SDU_thesis_template_for_postgraduate 封皮预 ...

  9. redis 基本类型

    1 hashes 类型及操作 redis hash 是一个string 类型的 field 和 value 的映射表.他的添加.删除操作时间复杂度都是 O(1) 2 hset,设置 hash fiel ...

  10. 帆软报表和jeecg的进一步整合--ajax给后台传递map类型的参数

    下面是页面代码: <%@ page language="java" contentType="text/html; charset=UTF-8" page ...