Maison >développement back-end >tutoriel php >À propos de la méthode de recherche dans la base de données à l'aide de critères dans le fonctionnement du modèle Yii

À propos de la méthode de recherche dans la base de données à l'aide de critères dans le fonctionnement du modèle Yii

不言
不言original
2018-06-15 17:19:131189parcourir

Cet article présente principalement la méthode de recherche dans la base de données à l'aide des critères de fonctionnement du modèle Yii, et analyse les techniques liées à l'instanciation et à l'opération de requête des critères dans le modèle Yii sous forme d'exemples. Les amis dans le besoin peuvent se référer à cet article

L'exemple décrit la méthode de recherche dans la base de données en utilisant les critères de fonctionnement du modèle Yii. Partagez-le avec tout le monde pour votre référence, comme suit :

Méthode de recherche du modèle de données :

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

Définition de l'opération de comparaison :

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

Définir le champ à rechercher :

//查找的结果
$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;),

Définir la recherche 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;),

Requête de table JOIN

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

résultat de la requête de commande tri :

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

regroupement des résultats du groupe :

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

avoir un filtre regroupement Nombre de groupes de résultats :

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

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il vous sera utile. l'étude de tout le monde. Plus connexe Veuillez faire attention au contenu du site Web chinois PHP !

Recommandations associées :

Analyse sur la configuration de l'index sphinx dans le framework Yii

yii2 utilise GridView pour implémenter toutes les sélections de données et Bouton de suppression par lots

À propos de la façon d'écrire la pagination de recherche jQuery dans le framework YII

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn