Heim >Backend-Entwicklung >PHP-Tutorial >Codebeispiel zur Implementierung einer auf mehrere Tabellen bezogenen Abfrage in thinkphp
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!