如何使用额外数据进行水合和实体化

时间:2015-10-07 01:52:21

标签: symfony doctrine entity

所以我有一个与网站距离的查询。查询正确返回实体站点,并计算距离。这是我的查询。

$ query = $ this-> getEntityManager() - > createQuery(' SELECT s,ROUND((:milesOrKm * acos(cos(radians(:myLat))* cos(radians(s.latitude) ))* cos(弧度(s.longitude) - 弧度(:myLong))+ sin(弧度(:myLat))* sin(弧度(s.latitude)))))AS距离AppBundle:Site s ORDER By distance ASC') - > setParameter(' milesOrKm',$ units)

当结果出现时,它们是我的网站的数组,但也是一个距离。这与我需要的很接近,但我希望将距离字段添加到我的实体中,即使它不是存储的学说字段。

array:2 [▼
  0 => array:2 [▼
    0 => Site {#512 ▶}
    "distance" => "1"
  ]
  1 => array:2 [▼
    0 => Site {#521 ▶}
    "distance" => "2649"
  ]
]

基本上我想要

array:2 [▼
    0 => Site {#512 ▶}
    1 => Site {#521 ▶}
]

如何添加距离我的实体?我有一个距离保护属性(没有注释,因此它没有加载和保存)。

我怀疑我需要定制补水,但我很难搞清楚。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您需要的是您自己的定制保湿剂。 Here是如何做到这一点的好例子