我使用PostgreSQL + PostGIS設置,我想從數據庫中取geom
列作爲GeoJSON。我知道我可以使用ST_AsGeoJSON()
函數來做到這一點。所以我用這個代碼來獲取所有的國家:Laravel雄辯的後處理查詢
$countries = Country::select(["id", "name", DB::raw("ST_AsGeoJSON(geom) AS geom")])->get()
然而,我最終$countries[i]->geom
是一個字符串,所以我需要有循環來做到這一點:
$countries[i]->geom = json_decode($countries[i]->geom);
我想將這一行代碼移到雄辯模型中,所以我不必擔心是否忘記解碼列。是否有我應該重寫的方法或任何方式將此特殊功能添加到我的國家/地區模型?
我正在使用5.1 LTS版本,但是這個工作,也把''geom'=>'json''做的伎倆。但是,我檢查了laravel代碼,實際上每次我詢問這個屬性時都會執行'json_decode()...如果我記得解碼值,那麼從oseintow的回答是很好的。 – clzola