Я использую Thinking Sphinx и хочу получать количество продуктов для каждой категории. Мой индексный файл:Попытка получить количество товаров в каждой категории в Thinking Sphinx
ThinkingSphinx::Index.define :product, :with => :active_record do
# fields
indexes title, :sortable => true
indexes product_category_id
has created_at, updated_at
end
Я пытался использовать запрос, используя group_by
Product.search('phone').group_by(&:product_category_id)
Но он возвращает мне сгруппированный хеш со всеми результатами поиска, но я хочу видеть только рассчитывать, и хочу, чтобы сделать это запрос гораздо легче.
Также я попытался запрос
Product.search('phone', :select => 'COUNT(product.id) as cr').group_by(&:market_id)
Но он возвращает ошибку
<ThinkingSphinx::SyntaxError: sphinxql: syntax error, unexpected IDENT, expecting DISTINCT or '*' near 'product.id) as cr FROM `product_core` WHERE MATCH('phone') AND `sphinx_deleted` = 0 LIMIT 0, 20; SHOW META' - SELECT COUNT(product.id) as cr FROM `product_core` WHERE MATCH('phone') AND `sphinx_deleted` = 0 LIMIT 0, 20; SHOW META>
попробовать Append .count() с именем столбца в скобках в запросе –
я пытался это сделать, но SimPE графа() возвращает только размер хэш, и считаться с именем столбца возвращает 0 – user3434212
HTTP : //stackoverflow.com/questions/30133478/rails-get-count-of-association-through-join-table Симулярный сценарий, но решаемый только с помощью ActiveRecord. – max