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

溫馨提示×

溫馨提示×

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

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

laravel中如何使用Join語法

發布時間:2021-08-09 10:05:26 來源:億速云 閱讀:117 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關laravel中如何使用Join語法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在laravel中我們常常會使用join,leftjion和rightjoin進行連表查詢,非常的方便,但是我今天遇到一個問題,就是鏈表查詢需要on多個條件,即我要訂單的id和發貨人都一樣,默認的join只支持單個查詢,所以我下面總結兩種方法:

一、使用原是表達式(不推薦)

原生SQL中我們可以通過如下方法進行

select * from `orders` left join `users` on `orders`.`usename`=`users`.`usename` and `orders`.`platform`=`users`.`platform` where `orders`.`order_status` = 2

那么結合laravel,我們可以所以

DB::select('select * from `orders` left join `users` on `orders`.`usename`=`users`.`usename` and `orders`.`platform`=`users`.`platform` where `orders`.`order_status` = :id', ['id' => 1]);

二、使用高級的Join語法(推薦使用)

我們只需要所以如下代碼即可完成我們的Join多個條件

DB::table('users')
  ->join('contacts', function ($join) {
    $join->on('users.id', '=','contacts.user_id')->on('users.usename', '=','contacts.usename');
    })
  ->get();

如果你想要了解更多,我們可以看一下文檔中的描述:

讓我們以傳入一個閉包當作 join 方法的第二參數來作為開始。此閉包會接收 JoinClause 對象,讓你可以在 join 子句上指定約束:

DB::table('users')
  ->join('contacts', function ($join) {
    $join->on('users.id', '=','contacts.user_id')->orOn(...);
    })
  ->get();

若你想要在連接中使用「where」風格的子句,則可以在連接中使用 where 和 orWhere 方法。這些方法會比較字段和一個值,來代替兩個字段的比較:

DB::table('users')
    ->join('contacts', function ($join) {
      $join->on('users.id', '=', 'contacts.user_id')
         ->where('contacts.user_id', '>', 5);
    })
    ->get();

關于“laravel中如何使用Join語法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

凤城市| 清镇市| 新建县| 丰台区| 大同县| 淮安市| 湘西| 应城市| 新余市| 赤峰市| 体育| 博兴县| 尉犁县| 济南市| 千阳县| 射阳县| 竹山县| 巴东县| 达日县| 阿城市| 建德市| 凤凰县| 成武县| 获嘉县| 五华县| 扶绥县| 南乐县| 浦江县| 射阳县| 房山区| 湟源县| 清新县| 招远市| 沁源县| 云浮市| 夏津县| 武邑县| 若羌县| 建平县| 远安县| 昭苏县|