问题:laravel中的查询和子查询join

我正在 laravel 上尝试这个,但我收到这样的错误

SQLSTATE[42601]: Syntax error: 7 ERROR: subquery in FROM must have an alias
 LINE 3: (select * from subcategory a inner join s...
HINT: For example, FROM (SELECT ...) [AS] foo. (SQL: select * from 
mastercategory c
inner join 
 (select * from subcategory a inner join subling b on 
a.idsubcategory=b.idsubcategory_subcategory) on c.idcategory=a.idsubcategory_subcategory 

我正在尝试将主类别与子查询加入(子类别和兄弟)

   $users = DB::select(DB::raw(" select *  from mastercategory c
            inner join  (select * from subcategory a inner join subling b on 
            a.idsubcategory=b.idsubcategory_subcategory) on 
            c.idcategory=a.idsubcategory_subcategory "))->get();

我怎么能做到这一点我不想使用模型提前谢谢

这是我的更新

   $users  =   DB::raw(" select a.*,b.*  from mastercategory a
                  inner join  
               (select b.*,c.* from subcategory b inner join subling c  on  
           b.idsubcategory=c.idsubcategory_subcategory) on 
          a.idcategory=b.idcategory_mastercategory"); 

为什么我得到空值

解答

 $users = DB::select("select *  from mastercategory c
            inner join  (select * from subcategory a inner join subling b on 
            a.idsubcategory=b.idsubcategory_subcategory) as d on 
            c.idcategory=d.idsubcategory_subcategory");

当您使用DB::select时,它会执行该语句并返回结果。你不需要使用getDB::raw(在这里检查)。

您收到此错误是因为您没有为内部子查询提供别名。

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐