我正在研究laravel 5.4。我正在尝试使用以下查询从数据库中获取数据:
$obj = \Illuminate\Support\Facades\DB::table('A')
->join('B', 'A.Intake', '=', 'B.Id')
->join('C', 'B.StreamId', '=', 'C.StreamId')
->select(\Illuminate\Support\Facades\DB::raw('DISTINCT(C.StreamId) As StreamId'))
->where('A.YearId', $yearId);
$streamIds = $obj->get()->toArray();
以上查询返回空结果。我还调试了laravel生成的查询。下面是基于上述条件由laravel生成的原始查询:
select DISTINCT(C.StreamId) As StreamId from A
inner join B on A.Intake = B.CentreStreamId
inner join C on B.StreamId = C.StreamId
where A.YearId = '12'
当我直接在我的数据库中运行上面的原始查询时,它会返回一些记录。但是当我尝试在laravel中获取记录时,它会返回空的结果。
我无法解决上述问题。有人可以告诉我为什么它返回空结果集?如果上述查询构建器语法存在任何问题,请更正我的查询。
先谢谢。