Instructions de requête ThinkPHP et utilisation des requêtes associées

不言
Libérer: 2023-03-30 17:08:02
original
1458 Les gens l'ont consulté

Cet article présente principalement l'utilisation des instructions de requête ThinkPHP et des requêtes associées, ainsi que les méthodes de requête courantes sous forme d'exemples, y compris des techniques telles que les tableaux comme conditions de requête et les méthodes d'objet pour les requêtes. Les amis dans le besoin peuvent s'y référer

Les exemples de cet article décrivent l'utilisation des instructions de requête ThinkPHP et des requêtes associées. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Dans la page du framework thinkphp, nous pouvons directement épeler les instructions de requête SQL pour implémenter les opérations de lecture et d'écriture des requêtes de base de données. Voici un exemple pour illustrer cela.

En plus des conditions de requête de chaîne pour les requêtes ordinaires, les conditions de requête de tableau et d'objet sont très couramment utilisées, et elles sont nécessaires pour les requêtes de base.

1. Utiliser des tableaux comme conditions de requête

$User = M("User"); //实例化User对象
$condition['name'] = 'thinkphp'; // 把查询条件传入查询方法
$User->where($condition)->select();
Copier après la connexion
2. Utiliser le mode objet pour interroger Vous pouvez utiliser n'importe quel objet ici comme exemple. >

1, Forme de chaîne
$User = M("User"); // 实例化User对象
// 定义查询条件 $condition = new stdClass();
$condition->name = 'thinkphp';  // 查询name的值为thinkphp的记录
$User->where($condition)->select(); //  上面的查询条件等同于 where('name="thinkphp"') 使用对象方式查询和使用数组查询的效果是相同的,并且是可
带where条件的普通查询
Copier après la connexion

2. Forme de tableau
$user=M('user');
$list=$user->where(&#39;id>5 and id<9&#39;)->select();
$list=$user->where($data)->select();
Copier après la connexion

3. Forme d'objet
$user=M(&#39;user&#39;);
$list=$user->where(array(&#39;username&#39;=>&#39;www.jb51.net&#39;))->select();
$list=$user->where($data)->select();
Copier après la connexion

Requête associative entre deux. tables :
$user=M(&#39;user&#39;);
$a=new stdClass();
$a->username=&#39;www.jb51.net;
$list=$user->where($a)->select();
Copier après la connexion

Requête d'intervalle
$M_shopping = M(&#39;Shops&#39;); 
$M_product = M(&#39;Product&#39;); 
$list_shops = $M_shopping->join(&#39;as shops left join hr_product as product on shops.product_id = product.p_id&#39;) 
->field(&#39;product.p_id,product.p_name,shops.product_amount,shops.product_id&#39;) 
->where("shops.user_cookie=&#39;".$_COOKIE[&#39;hr_think_userid&#39;]."&#39;") 
->group(&#39;shops.id&#39;) 
->select();
Copier après la connexion

Requête combinée
$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();
Copier après la connexion

Requête composée
$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);
Copier après la connexion

Requête associée de trois tables de données
$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();
Copier après la connexion

Conditions de requête de la table de données
$M_shopping = M(&#39;Shops&#39;);
$M_product = M(&#39;Product&#39;);
$M_proimg = M(&#39;Product_image&#39;);
$list_shops = $M_shopping->join(&#39;as shops left join hr_product as product on shops.product_id = product.p_id left join
hr_product_image as productimgon productimg.p_id = product.p_id&#39;)->fiel(&#39;productimg.pi_url,product.p_id,product.p_name,shops.product_amount,shops.product_id,product.am_id,
product.p_procolor,product.p_price,product_amount*p_price as totalone&#39;)->where("shops.user_cookie=&#39;".$_COOKIE[&#39;hr_think_userid&#39;]."&#39;")
->group(&#39;shops.id&#39;)->select();
Copier après la connexion
① Ce qui suit consiste à mettre directement les conditions de requête dans où, ce qui facilite l'écriture des conditions


② Dans en plus de la méthode ci-dessus, il existe une autre méthode. Elle se présente sous la forme d'un tableau
$m_test = M("Product");
$productmeaage = $m_test->where("p_id=&#39;$proid&#39;")->select();
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. contenu, veuillez faire attention au site Web PHP chinois !
$M_product = M(&#39;Product&#39;);
$map[&#39;pid&#39;] = $proid;
$p_result = $M_product->where($map)->select();
Copier après la connexion

Recommandations associées :

Modèle d'association de ThinkPHP


Langage de requête couramment utilisé dans 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal