Heim  >  Artikel  >  PHP-Framework  >  Was ist die Verwendung von Join in thinkphp5?

Was ist die Verwendung von Join in thinkphp5?

WBOY
WBOYOriginal
2022-04-25 11:01:165336Durchsuche

In thinkphp5 wird Join verwendet, um Daten aus zwei oder mehr Tabellen basierend auf der Beziehung zwischen Spalten in diesen Tabellen abzufragen. Es handelt sich um eine der kohärenten Operationsmethoden. Das zurückgegebene Ergebnis ist ein Modellobjekt und die Syntax lautet „join (“. Der zu verknüpfende Tabellenname und der Alias ​​[Verknüpfungsbedingung [Verknüpfungstyp]]).

Was ist die Verwendung von Join in thinkphp5?

Die Betriebsumgebung dieses Artikels: Windows 10-System, ThinkPHP Version 5, Dell G3-Computer.

Was ist die Verwendung von Join in thinkphp5?

Die JOIN-Methode ist auch eine der kohärenten Operationsmethoden, die zum Abfragen von Daten aus zwei oder mehr Tabellen basierend auf der Beziehung zwischen Spalten in diesen Tabellen verwendet wird.

Erklärung

object join ( mixed join [, mixed $condition = null [, string $type = 'INNER']] )

Parameter

join: Der (vollständige) Tabellenname und der zu verknüpfende Alias ​​unterstützen drei Schreibmethoden:

  • Schreibmethode 1: ['Vollständiger Tabellenname oder Unterabfrage'=>'Alias' ]

  • Schreiben 2: „Vollständiger Tabellenname-Alias“

  • Schreiben 3: „Tabellenname ohne Datentabellenpräfix“

Bedingung: Zuordnungsbedingung. Es kann eine Zeichenfolge oder ein Array sein. Wenn es sich um ein Array handelt, ist jedes Element eine zugehörige Bedingung.

Typ: Assoziationstyp. Kann sein: INNER, LEFT, RIGHT, FULL, ohne Berücksichtigung der Groß-/Kleinschreibung, Standard ist INNER.

Rückgabewert: Modellobjekt

join hat normalerweise die folgenden Typen von Join-Vorgängen, die sich auf die zurückgegebenen Datenergebnisse auswirken.

  • INNER JOIN: Entspricht JOIN (Standard-JOIN-Typ). Wenn es mindestens eine Übereinstimmung in der Tabelle gibt, werden Zeilen zurückgegeben.

  • LEFT JOIN: Alle Zeilen aus der linken Tabelle werden zurückgegeben, auch wenn keine Übereinstimmung darin vorhanden ist die rechte Tabelle

  • RIGHT JOIN: Gibt alle Zeilen aus der rechten Tabelle zurück, auch wenn es keine Übereinstimmung in der linken Tabelle gibt

  • FULL JOIN: Gibt Zeilen zurück, solange es eine Übereinstimmung in einer der Tabellen gibt

Beispiel ist wie folgt:

Db::table('think_artist')
->alias('a')
->join('think_work w','a.id = w.artist_id')
->join('think_card c','a.card_id = c.id')
->select();
Db::table('think_artist')
->alias('a')
->join('__WORK__ w','a.id = w.artist_id')
->join('__CARD__ c','a.card_id = c.id')
->select();
rrree

Die oben genannten drei Schreibmethoden haben den gleichen Effekt: __WORK__ und __CARD__ werden bei der Endanalyse in think_work und think_card umgewandelt. Hinweis: Der Tabellenname in der Mitte von „_Tabellenname_“ muss in Großbuchstaben angegeben werden. Wenn Sie keinen Alias ​​verwenden möchten, muss in den folgenden Bedingungen der vollständige Name der Tabelle verwendet werden

$join = [
    ['think_work w','a.id=w.artist_id'],
    ['think_card c','a.card_id=c.id'],
];
Db::table('think_user')->alias('a')->join($join)->select();

Die INNER JOIN-Methode wird standardmäßig verwendet. Wenn Sie andere JOIN-Methoden verwenden müssen, können Sie sie in

Db::table('think_user')->join('__WORK__','__ARTIST__.id = __WORK__.artist_id')->select();

Der Tabellenname kann auch eine Unterabfrage sein

Db::table('think_user')->alias('a')->join('word w','a.id = w.artist_id','RIGHT')->select();

Da die von buildSql zurückgegebene Anweisung () enthält. Es ist nicht erforderlich, () an beiden Enden hinzuzufügen.

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von Join in thinkphp5?. 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