2017-04-19 56 views
0

出於某種原因,使用Laravel ST_Intersects給出了錯誤:PostGIS的與Laravel

Undefined function: 7 ERROR: function st_intersects(public.geometry, public.geometry) does not exist 

完全一樣的查詢,同DB是工作在純PHP完美的罰款。

完整的查詢文本:

$query = 
     "SELECT estado, municipio, COUNT(*) 
     FROM public.focos_bdq, dados_geo.poligonos_deter 
     WHERE ST_Intersects(focos_bdq.geometria, poligonos_deter.geom) 
     AND bioma LIKE '$bioma_bd' 
     AND date_trunc('month', data_hora_gmt)::date = '$mes_anterior' 
     AND (satelite LIKE 'AQUA%' OR satelite LIKE 'TERRA%') 
     GROUP BY municipio, estado 
     ORDER BY COUNT(*) DESC"; 

$focos = \DB::select($query); 

回答

0

也許你應該追加模式名(PostGIS的)的函數名。 postgis.ST_Intersects(...

或者用戶與laravel日誌中可能需要在它的模式搜索路徑設置正確。

+0

不幸的是附加的模式並沒有幫助。我如何驗證用戶laravel? –

+0

我只是指laravel用來登錄數據庫的數據庫用戶,它將在數據庫配置文件中。此外,你可以通過打開PG日誌記錄或使用laravel記錄器來記錄sql,並捕獲發送給D B? –