我有一个Review Entity,其中包含以下字段:
id
userID
bookID
review
然后是评级实体,其中包含以下字段:
id
reviewID
userID
rating
评级可能存储0或1。
如何使用symfony执行查询以计算Rating表中等于1的所有评级,然后计算等于0的评级,然后从1个评级的计数中减去0评级的计数并返回对于每次审核?
我该怎么做?看起来很棘手
答案 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。