中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

thinkphp5中的join怎么用

發布時間:2022-04-25 11:03:51 來源:億速云 閱讀:461 作者:iii 欄目:編程語言

本篇內容主要講解“thinkphp5中的join怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“thinkphp5中的join怎么用”吧!

在thinkphp5中,join用于根據兩個或者多個表中列之間的關系,從這些表中查詢數據,是連貫操作方法之一,返回的結果是一個模型對象,語法為“join ( 要關聯的表名以及別名 [ 關聯條件 [ 關聯類型]] )”。

本文操作環境:Windows10系統、ThinkPHP5版、Dell G3電腦。

thinkphp5中join的用法是什么

JOIN方法也是連貫操作方法之一,用于根據兩個或多個表中的列之間的關系,從這些表中查詢數據。

說明

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

參數

join:要關聯的(完整)表名以及別名,支持三種寫法:

  • 寫法1:[ '完整表名或者子查詢'=>'別名' ]

  • 寫法2:'完整表名 別名'

  • 寫法3:'不帶數據表前綴的表名'

condition:關聯條件。可以為字符串或數組, 為數組時每一個元素都是一個關聯條件。

type:關聯類型。可以為:INNER、LEFT、RIGHT、FULL,不區分大小寫,默認為INNER。

返回值:模型對象

join通常有下面幾種類型,不同類型的join操作會影響返回的數據結果。

  • INNER JOIN: 等同于 JOIN(默認的JOIN類型),如果表中有至少一個匹配,則返回行

  • LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行

  • RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行

  • FULL JOIN: 只要其中一個表中存在匹配,就返回行

示例如下:

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();
$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();

以上三種寫法的效果一樣,__WORK__和 __CARD__在最終解析的時候會轉換為 think_work和 think_card。注意:'_表名_'這種方式中間的表名需要用大寫

如果不想使用別名,后面的條件就要使用表全名,可以使用下面這種方式

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

默認采用INNER JOIN 方式,如果需要用其他的JOIN方式,可以改成

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

表名也可以是一個子查詢

$subsql = Db::table('think_work')->where(['status'=>1])->field('artist_id,count(id) count')->group('artist_id')->buildSql();
Db::table('think_user')->alias('a')->join([$subsql=> 'w'], 'a.artist_id = w.artist_id')->select();

因buildSql返回的語句帶有(),所以這里不需要在兩端再加上()。

到此,相信大家對“thinkphp5中的join怎么用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江安县| 广河县| 乐清市| 祁门县| 岳阳市| 阳东县| 利津县| 日照市| 印江| 凤冈县| 双鸭山市| 和平区| 滨州市| 阿克苏市| 页游| 洞头县| 江北区| 甘孜| 中阳县| 资源县| 丁青县| 通化市| 达州市| 南岸区| 南川市| 恩平市| 随州市| 孝感市| 海原县| 丹江口市| 两当县| 许昌市| 邢台县| 玉龙| 衡山县| 大港区| 海南省| 松江区| 吴堡县| 南靖县| 巩义市|