Heim  >  Artikel  >  Backend-Entwicklung  >  Codebeispiel zur Implementierung einer auf mehrere Tabellen bezogenen Abfrage in thinkphp

Codebeispiel zur Implementierung einer auf mehrere Tabellen bezogenen Abfrage in thinkphp

黄舟
黄舟Original
2017-10-13 09:27:181535Durchsuche

Dieser Artikel stellt hauptsächlich relevante Informationen zu detaillierten Beispielen für mehrtabellenbezogene Abfragen in thinkphp vor. Ich hoffe, dass dieser Artikel jedem helfen kann, diesen Teil des Inhalts zu verstehen und zu beherrschen.

Detaillierte Beispiele für Abfragen mit mehreren Tabellen in thinkphp

Bei der Programmierung von Back-End-Verwaltungssystemen werden Frameworks im Allgemeinen verwendet, um Seiten schnell zu erstellen Die Anwendung des Thinkphp-Frameworks besteht tatsächlich darin, das Front-End und das Back-End für die Verwaltung zu trennen. Das Front-End-Benutzer-Anmeldeabfragesystem wird für die Verwaltung im Home-Ordner abgelegt und das Back-End verwaltet system wird im Admin-Ordner von thinkphp manage abgelegt. Wenn Sie das Thinkphp-Framework verwenden, müssen Sie übrigens die MVC-Architektur verwenden. Die MVC-Architektur besteht aus einer Struktur aus Modell (Datenmodell), Ansicht (Ansicht) und Controller (Controller). . Steuerung Die Funktion des Controllers besteht darin, Ansichten und Controller zu verwalten. Weitere Informationen finden Sie in der Thinkphp-Dokumentation.

Worüber ich heute sprechen werde, ist die Korrelationsabfrageanwendung von Datenbanktabellen, die im Back-End-Managementsystem vorkommen.

Das erste, worüber ich sprechen möchte, ist die Anwendung von Abfrageanweisungen in thinkphp. Natürlich handelt es sich hierbei nicht um eine einfache Abfrage einer Datentabelle, sondern um eine verwandte Abfrage zwischen mehreren Tabellen Es gibt zwei Methoden für die Datenzuordnung: Join und Table.

1. Das erste, was eingeführt werden muss, ist die Tabellenmethode, um verwandte Abfragen zwischen mehreren Tabellen durchzuführen

Das erste M ist das M-Modell in thinkphp, die Funktion besteht darin, die Datentabelle in der Datenbank auszuwählen, die Tabelle wählt aus, welche Tabellen verknüpft werden sollen, wo die bedingte Zuordnung durchgeführt werden soll, die Funktion des Feldes ist tatsächlich eine Filterfunktion, die die gewünschten oder nützlichen Informationen ausgeben kann Nach der Korrelation der Tabellen ist das Ergebnis die gewünschte Datenstruktur.


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. Die Join-Methode führt verwandte Abfragen zwischen mehreren Tabellen durch

Hier Der Unterschied zwischen den Tabellenzuordnungen besteht darin, dass der Join die Tabellen verknüpft. Der Rest ist eigentlich derselbe. Wo ist die Zuordnungsbedingung und das Feld ist die gefilterte Information (nützliche Informationen für den nächsten Schritt)


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

Das obige ist der detaillierte Inhalt vonCodebeispiel zur Implementierung einer auf mehrere Tabellen bezogenen Abfrage in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn