Informationen zur Join-Abfrage von ThinkPHP, die nicht das Standardtabellenpräfix verwendet

藏色散人
Freigeben: 2021-04-30 09:26:21
nach vorne
2644 Leute haben es durchsucht

In der folgenden Tutorial-Kolumne von thinkphp erfahren Sie, dass die Join-Abfrage von ThinkPHP nicht das Standardtabellenpräfix verwendet. Ich hoffe, dass es für Freunde in Not hilfreich ist!

Die Join-Abfrage von ThinkPHP verwendet nicht das Standardtabellenpräfix

Was die Korrelationsabfrage von ThinkPHP betrifft, wird sie im offiziellen Dokument so beschrieben:
Informationen zur Join-Abfrage von ThinkPHP, die nicht das Standardtabellenpräfix verwendet

Die obige Join-Funktion erfordert drei Parameter:

join

Die ( Der vollständige) zuzuordnende Tabellenname und Alias ​​unterstützt drei Schreibmethoden:

写法1:[ '完整表名或者子查询'=>'别名' ]
写法2:'完整表名 别名'
写法3:'不带数据表前缀的表名'
Nach dem Login kopieren

condition

关联条件,可以为字符串或数组, 为数组时每一个元素都是一个关联条件。
Nach dem Login kopieren

type

关联类型,可以为: INNER、LEFT、RIGHT、FULL,不区分大小写,默认为INNER。
Nach dem Login kopieren

verschiedene Präfixe

Im Allgemeinen werden sie in einer Datenbank abgefragt, und in diesem Fall wird der Standardwert verwendet. Sie haben alle die Dasselbe Tabellenpräfix wie (shop_), daher wird es bei Verwendung der mit dem Datenbankmodell verbundenen Abfrage häufig so geschrieben:

Order::alias('o')
     ->join('user u', 'o.user_id = u.id')
     ->select();
Nach dem Login kopieren
Da im obigen Code eine Modellabfrage verwendet wird, wird diese standardmäßig zur Tabelle hinzugefügt Präfix, die vollständigen Tabellennamen der beiden Tabellen lauten

shop_order

und shop_user, und der Assoziationstyp ist standardmäßig INNER-Assoziation. Aber wenn Sie eine Tabelle mit einem

anderen Präfix (zum Beispiel: pay_record)

verknüpfen, funktioniert die obige Abfrageanweisung offensichtlich nicht. In diesem Fall müssen Sie geringfügige Änderungen an der Zuordnungsanweisung vornehmen folgt:

Order::alias('o')
     ->join(['pay_record' => 'r'], 'o.pay_id = r.id')
     ->select();
Nach dem Login kopieren
Auf diese Weise können Sie das Modell verwenden, um Tabellen mit unterschiedlichen Präfixen für Abfragen zu verknüpfen.

Zusammenfassung

Die obige Methode besteht tatsächlich darin, den Join-Parameter in der Join-Funktion von einer Zeichenfolge in ein Array zu ändern.

ThinkPHP ist ein hervorragendes Entwicklungsframework, und die obige Assoziationsmethode ist nur eine davon, und es stehen weitere Methoden zur Verfügung Schauen Sie sich das offizielle Handbuch an: Offizielles ThinkPHP-Handbuch.

Verwandte Empfehlungen:
Die neuesten 10 Thinkphp-Video-Tutorials

Das obige ist der detaillierte Inhalt vonInformationen zur Join-Abfrage von ThinkPHP, die nicht das Standardtabellenpräfix verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage