Maison  >  Article  >  développement back-end  >  Explication détaillée de la requête liée à plusieurs tables dans thinkphp

Explication détaillée de la requête liée à plusieurs tables dans thinkphp

小云云
小云云original
2018-01-06 16:01:031968parcourir

Cet article présente principalement des informations pertinentes sur des exemples détaillés de requêtes liées à plusieurs tables dans thinkphp. J'espère que cet article pourra aider tout le monde à comprendre et à maîtriser cette partie du contenu. J'espère qu'il pourra s'y référer. aider tout le monde.

Explication des exemples de requêtes liées à plusieurs tables dans thinkphp

Lors de la programmation de systèmes de gestion back-end, les frameworks sont généralement utilisés pour créer rapidement des pages. est récemment le framework thinkphp. L'application du framework thinkphp sépare en fait le front-end et le back-end pour la gestion. Le système de requête de connexion des utilisateurs front-end est géré dans le dossier personnel de thinkphp et le système de gestion back-end. est placé dans le dossier personnel de thinkphp géré dans le dossier admin. À propos, lorsque vous utilisez le framework thinkphp, vous devez utiliser l'architecture MVC. L'architecture MVC est la structure du modèle (modèle de données), de la vue (vue) et du contrôleur (contrôleur). L'interface ici est contrôlée par la vue. . Contrôle La fonction du contrôleur est de gérer les vues et les contrôleurs. Pour une structure détaillée, vous pouvez consulter la documentation thinkphp pour en savoir plus.

Ce dont je vais parler aujourd'hui, c'est l'application de requêtes de corrélation des tables de base de données rencontrées dans le système de gestion back-end.

La première chose dont je veux parler est l'application des instructions de requête dans thinkphp. Bien sûr, il ne s'agit pas d'une simple requête d'une table de données, mais d'une requête associée entre plusieurs tables ici. Il existe deux méthodes d'association de données : la jointure et la table.

1. La première chose à introduire est la méthode table pour effectuer des requêtes liées entre plusieurs tables

Le premier M est le modèle M dans thinkphp , la fonction est de sélectionner la table de données dans la base de données, la table sélectionne les tables à associer, où effectuer une association conditionnelle, la fonction de field est en fait une fonction de filtrage, qui peut afficher les informations souhaitées ou utiles, donc Après avoir corrélé les tables, le résultat est la structure de données souhaitée.


public function orderList(){
   $User=M("t_order");
   /*两个表的关联查询得到等级值*/
   $userinfo = $User->table('t_order,t_commodity,t_user')->where('t_order.cname = t_commodity.cname and t_order.uname = t_user.uname ')->field('t_order_id,t_order.orderid,t_order.cname')->select();
   $this->assign("userInfo",$userinfo);
   $this->display("order-list");
}

2 La méthode de jointure effectue des requêtes liées entre plusieurs tables

Ici La différence entre les associations de tables, c'est que join utilise pour associer les tables. Le reste est en fait le même. Où est la condition d'association, et le champ contient les informations filtrées (informations utiles pour l'étape suivante)

.

public function getBanner(){
 $bannerid=1;
 $banner=M("banner_item");
 $result=$banner->join('image ON banner_item.img_id = image.id')->where("banner_item.banner_id=".$bannerid)->field("key_word,type,banner_id,url,from")->select();
 echo json_encode($result);
}

Recommandations associées :

Explication détaillée de l'utilisation de l'association multi-table YII2

rejoindre Yii2 , Comment utiliser joinwith une requête de corrélation multi-tables

Exemple de code pour implémenter une requête de corrélation multi-tables 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