有人知道如何在 Symfony / Doctrine 中写下面的查询吗?
SELECT json_build_object(
'type', 'Feature',
'id', id,
'geometry', ST_AsGeoJSON(geom)::json,
'properties', json_build_object(
'name', building_name,
'type', building_type,
'area', ST_Area(geom)::numeric(10,2)
)
)
FROM geoepom.buildings WHERE id=1;
使用 psql 或 phppgadmin 运行查询时,查询效果非常好。
答案 0 :(得分:1)
你绝对应该考虑使用这个bundle。我已经使用了很多它,它允许你用空间数据和Doctrine(它的文档很棒)做你想做的一切。
但是,json_build_object特定于PostGres,因此在Doctrine中不支持它(也不在我提到的包中)。对于这种特殊情况,您应该read this in SF doc通过自定义Doctrine Type创建自己的实现。 但是,如果您要做的只是在从数据库中检索对象后将对象序列化为JSON,则应该查看the serializer component或JMS Serializer。
短版本将是“通过您的实体构建您的模型,通过ORM查询,并通过Serializer管理您的数据曝光”。
答案 1 :(得分:0)
我正在使用 https://github.com/jsor/doctrine-postgis 并且无法做到