我有一个评论实体,其中包含以下字段:
id
userID
bookID
review
然后是包含以下字段的评级实体:
id
reviewID
userID
rating
评级可以存储 0 或 1。
如何使用 symfony 执行查询来计算评级表中等于 1 的所有评级,然后计算等于 0 的评级,然后从 1 评级的计数中减去 0 评级的计数并返回它每条评论?
我该怎么做?看起来非常棘手
最佳答案
好吧,既然你正在使用 Symfony,我假设你也在使用 Doctrine。
Doctrine 允许您执行 native 查询。看看如何执行 native 查询 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)) 作为评论 rv 的结果;
看看here关于如何获取附加到实体的值。
关于mysql - symfony 中的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41404901/