sertai (operasi rantaian 11)


join biasanya mempunyai jenis berikut Jenis operasi gabungan yang berbeza akan menjejaskan keputusan data yang dikembalikan.

1.INNER JOIN: Sama dengan JOIN (jenis JOIN lalai), jika terdapat sekurang-kurangnya satu padanan dalam jadual, baris dikembalikan

2.LEFT JOIN: Walaupun tiada padanan dalam jadual kanan, semua baris dikembalikan dari jadual kiri

3.SERTAI KANAN: Kembalikan semua baris dari jadual kanan walaupun tiada padanan dalam jadual kiri

4. SERTAI PENUH: Kembalikan baris selagi ada padanan dalam salah satu the tables

Penerangan

join ( mixed join [, mixed $condition = null [, string $type = 'INNER']] )
leftJoin ( mixed join [, mixed $condition = null ] )
rightJoin ( mixed join [, mixed $condition = null ] )
fullJoin ( mixed join [, mixed $condition = null ] )

Parameter

join

要关联的(完整)表名以及别名

Kaedah penulisan yang disokong:

Kaedah penulisan 1: [ 'Nama jadual penuh atau subquery

' => 'Nama jadual penuh atau subquery' ] nama tanpa awalan jadual data' (digunakan secara automatik sebagai alias )

Penulisan 2: 'alias nama jadual tanpa awalan jadual data'

keadaan

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

type


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

nilai pulangan

model objek

E
Db::table('think_artist')
->alias('a')
->join('work w','a.id = w.artist_id')
->join('card c','a.card_id = c.id')
->select();

ERreeeexample Kaedah JOIN digunakan secara lalai, jika anda perlu menggunakan kaedah lain kaedah JOIN, anda boleh menukarnya kepada

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

Nama jadual juga boleh menjadi subquery

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