【发布时间】:2017-05-07 05:00:12
【问题描述】:
我正在使用 PostgreSQL + PostGIS 设置,我想从数据库中获取 geom 列作为 GeoJSON。我知道我可以使用ST_AsGeoJSON() 函数来做到这一点。所以我用这段代码来获取所有国家:
$countries = Country::select(["id", "name", DB::raw("ST_AsGeoJSON(geom) AS geom")])->get()
但是,我最终得到 $countries[i]->geom 是一个字符串,所以我需要 for 循环来执行此操作:
$countries[i]->geom = json_decode($countries[i]->geom);
我想将这行代码移到 Eloquent 模型中,这样我就不必担心是否忘记解码列。是否有我应该重写的方法或任何方式将此特殊功能添加到我的 Country 模型?
【问题讨论】:
标签: php postgresql laravel postgis