濮阳杆衣贸易有限公司

主頁 > 知識庫 > 解決在laravel中l(wèi)eftjoin帶條件查詢沒有返回右表為NULL的問題

解決在laravel中l(wèi)eftjoin帶條件查詢沒有返回右表為NULL的問題

熱門標(biāo)簽:福泉電話機(jī)器人 天津營銷電話機(jī)器人加盟代理 熱線電話機(jī)器人 事業(yè)單位如何百度地圖標(biāo)注 南寧crm外呼系統(tǒng)平臺 太原極信防封電銷卡 格陵蘭島地圖標(biāo)注 地圖標(biāo)注入哪個(gè)科目 電銷招聘機(jī)器人

問題描述:在使用laravel的左聯(lián)接查詢的時(shí)候遇到一個(gè)問題,查詢中帶了右表一個(gè)篩選條件,導(dǎo)致結(jié)果沒有返回右表為空的記錄。

先附上代碼:

DB::table('users as u')
  ->select('u.user_id','c.class')
  ->leftJoin('class as c','c.user_id','=','u.user_id')
  ->where('c.status','=',2)
  ->get();

解決方案:

1.在mysql的角度上說,直接加where條件是不行的,會導(dǎo)致返回結(jié)果不返回class為空記錄,正確是寫法應(yīng)該是

select u.user_id,c.class from users u left join class c on u.user_id=c.user_id and c.status=2;

沒錯(cuò),正確寫法是left join .. on .. and 而非 left join .. on .. where

2.那么,在laravel里這個(gè)mysql表達(dá)式的寫法是怎樣的,我查閱了多個(gè)手冊。。。及國外網(wǎng)友求助問答,得到了以下答案

DB::table('users as u')
  ->select('u.user_id','c.class')
  ->leftJoin('class as c', function($join)
  {
    $join->on('c.user_id', '=', 'u.user_id')
    ->on('c.status', '=', '2');
  })
  ->get();

希望能幫到大家!

以上這篇解決在laravel中l(wèi)eftjoin帶條件查詢沒有返回右表為NULL的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • laravel join關(guān)聯(lián)查詢代碼實(shí)例
  • 關(guān)于laravel 子查詢 & join的使用
  • laravel高級的Join語法詳解以及使用Join多個(gè)條件
  • Laravel 連接(Join)示例
  • laravel中Join語法以及使用Join多個(gè)條件

標(biāo)簽:阿克蘇 香港 郴州 通化 佳木斯 自貢 金華 寶雞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決在laravel中l(wèi)eftjoin帶條件查詢沒有返回右表為NULL的問題》,本文關(guān)鍵詞  解決,在,laravel,中,leftjoin,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決在laravel中l(wèi)eftjoin帶條件查詢沒有返回右表為NULL的問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決在laravel中l(wèi)eftjoin帶條件查詢沒有返回右表為NULL的問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    平舆县| 同江市| 东光县| 民和| 白河县| 科尔| 屏东市| 汕尾市| 鄯善县| 江达县| 南雄市| 抚远县| 历史| 海安县| 无极县| 修文县| 铁力市| 九台市| 库车县| 文水县| 南安市| 洪洞县| 习水县| 漠河县| 丹凤县| 齐河县| 德庆县| 巫溪县| 南乐县| 枣阳市| 辽阳县| 台北县| 新源县| 雷州市| 霸州市| 新竹县| 松滋市| 垣曲县| 安图县| 鄂州市| 金阳县|