php laravel左連接leftJoin多條where語句


通常情況下我們在做leftjoin連接時需要對不止一個條件進行進行匹配,這時候就需要使用閉包方式,如下:

leftjoin('db', function ($join) {···});
PHP

leftjoin多條件查詢,無非以下三種情況。

  1. 並且關系(&&)且為字段名稱,使用on,代碼示例如下:

    
    $roomUuid = 1; $chatInfo = DB::table('chat_info') ->where('chat_info.room_uuid', $roomUuid) ->leftJoin('user_rooms', function ($join) { $join->on('user_rooms.user_uuid', '=', 'chat_info.user_uuid') ->on('user_rooms.room_uuid', '=', 'chat_info.room_uuid'); })
    PHP
  2. 或者關系(||),將on改為orOn,代碼示例如下:

    
    $roomUuid = 1; $chatInfo = DB::table('chat_info') ->where('chat_info.room_uuid', $roomUuid) ->leftJoin('user_rooms', function ($join) { $join->on('user_rooms.user_uuid', '=', 'chat_info.user_uuid') ->orOn('user_rooms.room_uuid', '=', 'chat_info.room_uuid'); })
    PHP
  3. 多條件查詢,使用where,並使用use傳遞參數,代碼示例如下:
    $roomUuid = 1; $chatInfo = DB::table('chat_info') ->where('chat_info.room_uuid', $roomUuid) ->leftJoin('user_rooms', function ($join) use ($chatInfo) { $join->on('user_rooms.user_uuid', '=', 'chat_info.user_uuid') ->where('user_rooms.room_uuid', '=', $chatInfo); })
    PHP

happy coding !


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM