symfony中的子查询

时间:2016-12-31 02:26:57

标签: mysql symfony

我有一个Review Entity,其中包含以下字段:

id
userID
bookID
review

然后是评级实体,其中包含以下字段:

id
reviewID
userID
rating

评级可能存储0或1。

如何使用symfony执行查询以计算Rating表中等于1的所有评级,然后计算等于0的评级,然后从1个评级的计数中减去0评级的计数并返回对于每次审核?

我该怎么做?看起来很棘手

1 个答案:

答案 0 :(得分:0)

好吧,当你使用Symfony我假设你也使用Doctrine。

Doctrine允许您执行本机查询。看看如何执行本机查询here。 在MySQL上,你可以执行子查询,看看here如何做。

然后尝试这样的事情:

SELECT rv.* , ((SELECT count(*) FROM ratings ra WHERE ra.rating = 1 AND id rv.id = ra.reviewID) - (SELECT count(*) FROM ratings ra WHERE ra.rating = 0 AND id rv.id = ra.reviewID)) as result FROM review rv;

查看如何获取附加到实体的值的here