以下查询由doctrine
运行SELECT o, (SELECT count(f.id) FROM AppBundle:Feedback f WHERE f.order = o.id) isFeedbackAdded
FROM AppBundle:Order o
WHERE o.provider = :provider
JMS生成的结果
"_embedded": {
"items": [
{
"0": {
"id": 5,
...
},
"isFeedbackAdded": "0"
},
我们想要的结果是
"_embedded": {
"items": [
{
"id": 5,
...
"isFeedbackAdded": "0"
},
如果删除子查询,那么我们确实得到了所需的结果,但是在添加子查询之后,它又分成了更多的维数组。
我们可以在订单实体属性中包含isFeedbackAdded
作为虚拟字段,而不是将其保留在外面,这样我们就可以获得所需的结果。