Maison  >  Article  >  développement back-end  >  Instructions de requête ThinkPHP et utilisation des requêtes associées

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

不言
不言original
2018-06-08 10:44:571432parcourir

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();
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条件的普通查询

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

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();

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();

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();

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();

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

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();

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();
① 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();

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();

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!

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