Heim > Artikel > PHP-Framework > Was ist die Verwendung von Join in thinkphp5?
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]]).
Die Betriebsumgebung dieses Artikels: Windows 10-System, ThinkPHP Version 5, Dell G3-Computer.
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-TutorialDas 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!