Home  >  Article  >  php教程  >  Yii model operation criteria search database method

Yii model operation criteria search database method

高洛峰
高洛峰Original
2016-12-30 16:00:441019browse

The example of this article describes the method of searching the database using criteria for Yii model operation. Share it with everyone for your reference, the details are as follows:

Data model search method:

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,
    ),
  ));
}

Definition of comparison operation:

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

Define the field to be searched:

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

Define the search conditions:

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

JOIN connection table query

$criteria->join = &#39;LEFT JOIN users ON users.id=authorID&#39;,

##order query result sorting:

$criteria->order = &#39;createtime DESC&#39;,

group result grouping:

$criteria->group = &#39;projectID, teamID&#39;,

##having filter grouping result group number:

$criteria->having = &#39;SUM(revenue)<50000&#39;,

I hope this article will be helpful to everyone’s PHP program design based on the Yii framework.

For more articles related to Yii model operation criteria and how to find the database, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn