如何使用查询生成器laravel在leftjoin期间加入子查询?

时间:2017-09-15 07:55:47

标签: mysql laravel laravel-query-builder

$productLists = DB::table('A')
                    ->leftJoin('B', function($join) {
                        $join->where('B.qty','=', 1);
                        $join->on("B.id", "=", "A.id");
                    })
                    ->select('A.*','B.*')
                    ->get();

查询有什么问题?

我从B表中获得的字段全部返回null

我是以错误的方式做的吗?

3 个答案:

答案 0 :(得分:0)

试试这个:

access-control-allow-methods:get, put

答案 1 :(得分:0)

$productLists = DB::table('A') ->select('A.*','B.*')->join('B','B.id','=','A.id')->where('B.qty', 1) ->get();

这是在laravel中编写连接的一种方法..

答案 2 :(得分:0)

试试这个:

$productLists = DB::table('A')
                  ->join('B', 'B.id', '=', 'A.id')
                  ->select('A.*','B.*')
                  ->where('B.qty','=', 1)
                  ->get();