Laravel 5.3: Syntaxfehler oder Zugriffsverletzung: 1463 Nicht gruppiertes Feld 'distance' wird in HAVING-Klausel @ verwend
Dieser Fehler trat auf, nachdem die gesamte Quelle auf die Version 5.3 umgestellt wurde, und ich kratzte mir jetzt seit über zwei Stunden den Kopf.
So habe ich diese Art von beredter Frage:
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();
Es hat funktioniert, finde vor dem Upgrade jetzt wirft es:
Syntax-Fehler oder Zugriffsverletzung: 1463 In der HAVING-Klausel wird das nicht gruppierte Feld 'distance' verwendet (SQL: select *, SQRT (POW ((x - 860.0000), 2) + POW (((y - 105.0000), 2)) AS Entfernung vonpoi
wostatus
= 1 undid
nicht in (1) mitdistance
<= 6 bestellen beidistance
asc)
Ich wollte überprüfen, ob der ONLY_FULL_GROUP_BY-Modus auf meinem Server aktiviert ist, aber nicht ...
SELECT @@ sql_mode NO_ENGINE_SUBSTITUTION
Die gleiche Abfrage funktioniert auch in der MySQL-Workbench. Was ist los