mysql - laravel 子查詢的問題
問題描述
要拼成如下語句:
select field1,field2,field3 from table1 inner join (select id from table1 where field4=$field4 limit 100, 20) as temp using(id)
laravel 改怎么寫?···嘗試了許多都不行
感謝~
問題解答
回答1:直接用Laravel的ORM是無法實現的,至少是目前無法實現,所以這種需求還是乖乖用DB類提供的原生SQL方式吧,比如用DB::select等。
也可以參考一下這個Laravel 5. Using the USING operator,跟你一樣的需求。
這里有一個pull請求,為Laravel添加對using的支持,不過貌似因為沒有添加相應的單元測試被拒了。
回答2:$courses = Orgcourse::where(’classify’,’=’,$num)->join(’collections’,’orgcourses.id’,’=’,’collections.cid’)->select(DB::raw(’*,orgcourses.id as o_id,collections.id as c_id’))->orderBy(’collections.created_at’,’desc’)->paginate(2);類似于這種,能查出來,但是有點繁瑣好像,關聯查詢
相關文章:
1. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...2. java固定鍵值轉換,使用枚舉實現字典?3. css - ionic中的柵格布局如何讓文字內容多少不同的每一列中的內容都能垂直居中?4. java - 我設置了cookie的max age,但是cookie依然在關閉游覽器后消失了5. 如何為每個應用程序配置tomcat 6的logs / catalina.out。(為sys.out,sys.err配置Web應用程序特定的日志文件)6. php自學從哪里開始?7. phpstady在win10上運行8. 求大神幫我看看是哪里寫錯了 感謝細心解答9. Python, for-else, while-else是否造成了語義歧義 ( 增加心智負擔 )?10. 這是什么情況???
