Maison >développement back-end >tutoriel php >Exemple de code pour implémenter une requête associée à plusieurs tables dans thinkphp

Exemple de code pour implémenter une requête associée à plusieurs tables dans thinkphp

黄舟
黄舟original
2017-10-13 09:27:181640parcourir

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. Les amis dans le besoin pourront s'y référer

. Exemples détaillés 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. Je les utilise plus récemment. Framework thinkphp. L'application du framework thinkphp consiste en fait à séparer le front-end et le back-end pour la gestion. Le système de requête de connexion des utilisateurs front-end est placé dans le dossier personnel de thinkphp pour la gestion et la gestion back-end. system est placé dans le dossier admin de thinkphp manage. À 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);
}

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