Laravel查询结果问题:即使数据库中存在数据,查询也会返回空数组

时间:2018-02-23 13:20:41

标签: laravel-5

我正在研究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中获取记录时,它会返回空的结果。

我无法解决上述问题。有人可以告诉我为什么它返回空结果集?如果上述查询构建器语法存在任何问题,请更正我的查询。

先谢谢。

0 个答案:

没有答案