我已经编写了一个在我的模型中使用的 SQL 查询,如下所示:
Tag.find_by_sql(["SELECT tags.id, tags.name, count(*) AS count FROM tags
INNER JOIN taggings ON tags.id = taggings.tag_id
WHERE
(taggings.taggable_type = 'Discussion' AND taggings.taggable_id IN (SELECT id FROM `discussions` WHERE discussions.group_id = ?))
GROUP BY tag_id ORDER BY ? LIMIT ?;", self.id, self.id, self.id, self.id, order, limit])
这可以正常工作并提取所需的标签。但是,标签的顺序不正确。我在服务器控制台中注意到查询在 order 语句周围有撇号,如下所示:
ORDER BY 'count desc'
当我删除撇号时,如下所示:
ORDER BY count desc
并手动运行查询,它会以正确的顺序提取标签。有没有办法阻止将撇号添加到查询中?
干杯
托尼