相关疑难解决方法(0)

Laravel 5.3:语法错误或访问冲突:1463非分组字段'distance'用于HAVING子句

将整个源移动到5.3版本之后出现了这个错误,现在我已经抓了两个多小时了.

所以我有这种雄辩的查询:

POI::select('*', DB::raw("SQRT( POW((x - {$this->x}),2) + POW((y - {$this->y}),2) ) AS distance"))
        ->where('status', Config::get('app.poi_state.enabled'))
        ->whereNotIn('id', $excludePOIList)
        ->having('distance', '<=', $distance)
        ->orderBy('distance')->get();
Run Code Online (Sandbox Code Playgroud)

它在升级之前找到它现在它抛出:

语法错误或访问冲突:1463非分组字段'distance'用于HAVING子句(SQL:select*,SQRT(POW((x - 860.0000),2)+ POW((y - 105.0000),2))AS从远处poi其中status= 1和id(1)中具有不distance<= 6顺序由distanceASC)

我想检查我的服务器上是否启用了ONLY_FULL_GROUP_BY模式,但它不是......

SELECT @@ sql_mode NO_ENGINE_SUBSTITUTION

相同的查询在MySQL工作台中工作正常.这是怎么回事?

mysql laravel eloquent

11
推荐指数
1
解决办法
8395
查看次数

标签 统计

eloquent ×1

laravel ×1

mysql ×1