为什么请求在laravel中不起作用,但在pgAdmin中起作用?

时间:2019-09-05 11:22:38

标签: php laravel

在我的PHP代码中,我请求获取html中下拉菜单的数据。在pgAdmin中,我尝试这样做:

select distinct annee + 1 as annee from revisionrdt.rdt;

在PHP中:

$data = DB::table('previsionrdt.rdt')
    ->select ('annee')
    ->distinct ('annee + 1 as annee')
    ->from ('previsionrdt.rdt')
    ->get();

通常此请求返回“ 2019”,但在PHP中,该请求返回“ 2018”给我。

1 个答案:

答案 0 :(得分:1)

您的代码会生成另一个查询:

DB::table('previsionrdt.rdt')
    ->select ('annee')
    ->distinct ('annee + 1 as annee')
    ->from ('previsionrdt.rdt')
    ->get();

->

select distinct `annee` from `previsionrdt`.`rdt`

应该是这样的:

DB::table('previsionrdt.rdt')
    ->select(DB::raw('distinct annee + 1 as annee'))
    ->get();

->

select distinct annee + 1 as annee from `previsionrdt`.`rdt`

您可以使用dump()dd()(转储并消亡)代替get()来打印和调试查询。