Maison  >  Article  >  cadre php  >  Méthode de sélection des données de requête ThinkPHP (findAll)

Méthode de sélection des données de requête ThinkPHP (findAll)

步履不停
步履不停original
2019-06-25 16:31:156539parcourir

Méthode de sélection des données de requête ThinkPHP (findAll)

Données de requête ThinkPHP

Les données de requête ThinkPHP fournissent principalement les types de requêtes suivants :

  1. select : requête ordinaire, identique à findAll( ) méthode
  2. find : obtenez un enregistrement qui répond aux conditions de requête
  3. requête dynamique getBy : obtenez un enregistrement qui répond aux conditions de requête en fonction d'un certain champ
  4. getField : obtenez la valeur d'un certain champ Ou un tableau d'index de plusieurs champs
  5. Requête d'intervalle : obtenez des enregistrements d'intervalle qui répondent aux conditions de requête
  6. Requête statistique : obtenez des données statistiques qui répondent aux conditions de requête
  7. Requête de positionnement : obtenez celles qui répondent aux conditions de requête. Un ou plusieurs enregistrements de conditions de requête
  8. Requête SQL native : prend en charge les requêtes ou l'exécution d'opérations en SQL natif

select()

select() est la méthode de requête ordinaire la plus couramment utilisée dans ThinkPHP, et le résultat est un tableau à deux dimensions. findAll() est un alias pour la méthode select() et il est recommandé d'utiliser select().

Opération de lecture

L'exemple suivant lit et affiche toutes les données de la table utilisateur :

public function read(){
    $Dao = M("User");
    
    // 查询数据
    $list = $Dao->select();
    //dump($list);// 用 dump() 可以在调试阶段查看数据是否已读取
    // 模板变量赋值
    $this->assign("list", $list);
    // 输出模板
    $this->display();
}

Supposons que le fichier de classe correspondant à l'exemple ci-dessus est Lib/Action/ IndexAction.class.php, le fichier modèle correspondant est Tpl/default/Index/read.html.

Modèle d'affichage des données

Le fichier modèle permet d'afficher les données de la table Utilisateur qui vient d'être lue. Pendant la phase d'apprentissage, si vous ne souhaitez pas utiliser de modèles, vous pouvez également utiliser directement la syntaxe foreach pour afficher les données lues directement dans l'opération read(). Voici l'extrait de code correspondant du modèle. Nous affichons les données lues dans un tableau :

<table border="1">
    <tr>
        <th width="10%">ID</th>
        <th width="30%">用户名</th>
        <th width="30%">电子邮件</th>
        <th>注册时间</th>
    </tr>
    <volist name="list" id="vo">
    <tr>
        <td align="center">{$vo[&#39;uid&#39;]}</td>
        <td>{$vo[&#39;username&#39;]}</td>
        <td>{$vo[&#39;email&#39;]}</td>
        <td>{$vo[&#39;regdate&#39;]|date=&#39;Y-m-d H:i&#39;,###}</td>
    </tr>
    </volist>
</table>

field() Interroge le champ spécifié

la méthode select() par défaut interroge tous les champs Données. , si vous souhaitez interroger un ou plusieurs champs, vous devez utiliser la méthode file().

filed() est une méthode qui appartient au fonctionnement continu de ThinkPHP. Par exemple, dans l'exemple ci-dessus, seuls le nom d'utilisateur et l'adresse e-mail sont interrogés, puis la méthode de requête doit être modifiée en :

$list = $Dao->field(&#39;username,email&#39;)->select();

Utiliser les conditions de requête

En utilisant l'opération cohérente ThinkPHP, vous pouvez facilement utiliser les conditions de requête pour la requête de données. Vous trouverez ci-dessous quelques exemples de conditions de requête simples.

conditionwhere()

……   
    // 构造查询条件
    $condition[&#39;username&#39;] = &#39;Admin&#39;;
    // 查询数据
    $list = $Dao->where($condition)->select();
……
La requête ci-dessus concerne les données de username='Admin'. Pour des informations plus détaillées sur les conditions ThinkPHP Where, veuillez vous référer à « Conditions ThinkPHP Where ».

Tri ORDER BY

Utilisez ORDER BY dans la requête pour trier les données :

……   
    // 查询数据
    $list = $Dao->order(&#39;uid DESC&#39;)->select();
……

Cet exemple est que les données sont interrogées selon ORDER BY uid DESC, et le Méthode order() La signification des paramètres dans est exactement la même que celle de l'instruction SQL.

LIMIT limit

Utilisez LIMIT dans la requête pour limiter le nombre d'enregistrements renvoyés par les données :

……   
    // 查询数据
    $list = $Dao->limit(&#39;4,5&#39;)->select();
……

Cet exemple consiste à supprimer les 5 à 10 enregistrements dans le Méthode limit() La signification du paramètre est exactement la même que celle de LIMIT dans l'instruction SQL.

Fonctionnement continu

ThinkPHP permet à chaque méthode de l'objet de données d'être écrite ensemble pour fonctionner, comme :

$list = $Dao->order(&#39;uid DESC&#39;)->limit(&#39;4,5&#39;)->select();

Pour plus d'articles techniques liés à ThinkPHP, veuillez visiter

Apprenez dans la colonne Tutoriel ThinkPHP  !

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
Article précédent:utilisation de thinkphp expArticle suivant:utilisation de thinkphp exp