2016-12-27 56 views
1

有誰知道怎麼寫下面的查詢中的Symfony /原則?當我PSQLphpPgAdmin的運行json_build_object在DQL

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; 

查詢工作完美。

回答

1

你一定要考慮使用此bundle。我已經使用了很多,它可以讓你用空間數據和Doctrine來做你想做的一切(並且它的文檔很棒)。

,但json_build_object是特定Postgres的,所以它不是在教義支持(也沒有在包中我提到)。對於這種特殊的情況下,你應該read this in SF doc創建通過自定義類型學說自己的實現。 然而,如果你想要做的是從數據庫中檢索它後,你的序列化對象JSON,你應該看看the serializer componentJMS Serializer

短版本將是「通過您的實體構建您的模型,通過ORM查詢並通過串行器管理您的數據曝光」。

0

我使用 https://github.com/jsor/doctrine-postgis 並不能做到這一點無論是

+0

那麼你絕對應該考慮創建自己的學說類型或(更好的選擇,恕我直言)用自己的邏輯和串行器序列化的脫水對象。 –

+0

儘管我不知道該怎麼做,但在這個階段還是要過度勞累。 現在我只是使用查詢來準備GeoJson FeatureCollection。 也許在未來... – mysiar