您的位置:首页技术文章
文章详情页

mysql - laravel 子查询的问题

【字号: 日期:2022-06-15 13:33:47浏览:29作者:猪猪

问题描述

要拼成如下语句:

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);类似于这种,能查出来,但是有点繁琐好像,关联查询

相关文章: