Maison >développement back-end >tutoriel php >Langages de requête couramment utilisés dans ThinkPHP

Langages de requête couramment utilisés dans ThinkPHP

不言
不言original
2018-06-08 10:01:031394parcourir

Cet article présente principalement un résumé des langages de requête courants dans ThinkPHP. C'est une technique couramment utilisée dans ThinkPHP. Elle est très pratique dans le développement de projets.

Ceci. L'article résume les exemples de langages de requête ThinkPHP couramment utilisés. Je pense que cela peut apporter une certaine aide au développement ThinkPHP de chacun. Les détails sont les suivants :

1. Requête ordinaire :

Dans la requête, il y a au moins trois formes

1. Forme de chaîne de caractères :

&#39;id>5 and id<9&#39;

2. Forme de tableau :

L'exemple de code est le suivant suit :

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=&#39;liwenkai&#39;;
$list=$user->where(array(&#39;username&#39;=>&#39;liwenkai&#39;))->select();
$list=$user->where($data)->select();

3. Forme d'objet :

L'exemple de code est le suivant :

$user=M(&#39;user&#39;);
$a=new stdClass();
$a->username=&#39;liwenkai&#39;;
$list=$user->where($a)->select();

4. Expression de requête :

EQ                                                                                                                                                                                           Supérieur ou égal à
LT Inférieur à
ELT Inférieur ou égal à
LIKE Équivalent à like
[NOT] dans SQL BETWEEN Plage de requête
[NOT] IN Ensemble de requêtes
EXP       fait référence à l'utilisation d'instructions SQL standard pour réaliser des situations plus complexes

Formulaires courants :

$data[&#39;字段名&#39;]=array(&#39;是表达式&#39;,&#39;查询条件&#39;);
En plus

$data[&#39;liwenkai&#39;]=&#39;liwenkai&#39;;
est en fait équivalent à

$data[&#39;liwenkai&#39;]=array(&#39;eq&#39;,&#39;liwenkai&#39;);
. Les exemples sont les suivants :

.
$data[&#39;username&#39;]=array(&#39;like&#39;,&#39;peng%&#39;);
$list=$user->where($data)->select();

2. Requête d'intervalle :

L'exemple est le suivant :

$user=M(&#39;user&#39;);
$data[&#39;id&#39;]=array(array(&#39;gt&#39;,20),array(&#39;lt&#39;,23),&#39;and&#39;);
$list=$user->where($data)->select();
dump($list);

$data[&#39;username&#39;]=array(array(&#39;like&#39;,&#39;p%&#39;),array(&#39;like&#39;,&#39;h%&#39;),&#39;or&#39;);

3. Requête combinée :

L'exemple est le suivant :

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=&#39;pengyanjie&#39;;
$data[&#39;password&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;id&#39;]=array(&#39;lt&#39;,30);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$list=$user->where($data)->select();
dump($list);

4. Requête composée :

Les exemples sont les suivants :

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;password&#39;]=array(&#39;like&#39;,&#39;p%&#39;);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$where[&#39;_complex&#39;]=$where;
$where[&#39;id&#39;]=array(&#39;lt&#39;,30);
$list=$user->where($data)->select();
dump($list);
est équivalent à

(id<30)and ( (username=pengyanjie) or (password like p%) )

5. Requête statistique :

L'exemple est le suivant :

echo $user->count();
echo &#39;<br>&#39;;
echo $user->max(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->where(&#39;id<30&#39;)->min(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->avg(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->sum(&#39;id&#39;);

6. Requête de positionnement :

Les exemples sont les suivants :

$user=new AdvModel(&#39;user&#39;);//实例化高级模型AdvModel
//$user=M(&#39;user&#39;,&#39;CommonModel&#39;);//或者将AdvModel用CommonModel来继承
$list=$user->order(&#39;id desc&#39;)->getN(2);//返回结果中的第三条
dump($list);

$list=$user->order(&#39;id desc&#39;)->last();//返回最后一条
$list=$user->order(&#39;id desc&#39;)->first();//返回第一条

7. Requête SQL :

1.excute() est principalement utilisé pour la mise à jour et l'écriture :

$Model = new Model() // 实例化一个 model 对象  没有对应任何数据表
$Model->execute( "update think_user set name=&#39;thinkPHP&#39; where status=1" );

2.query() est principalement utilisé pour la requête :

$user=M();
$list=$user->query(&#39;select * from aoli_user order by id desc&#39;);
dump($list);

8. Requête dynamique

Les exemples sont les suivants :

$user=M(&#39;user&#39;);
$list=$user->getByusername(&#39;pengyanjie&#39;);
$list=$user->getByusername(&#39;pengyanjie&#39;);
dump($list);

$user=new AdvModel(&#39;user&#39;);
$list=$user->top5();//前5条
dump($list);
C'est tout pour cet article. L'intégralité du contenu, j'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment exécuter des instructions SQL natives dans le framework thinkPHP


ThinkPHP implémente la conversion du résultat de la requête de base de données données au type correspondant


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