Как найти трендовые хэштеги на основе варианта использования в Ruby on Rails - PullRequest
0 голосов
/ 16 мая 2018

Сначала это мой файл схемы

create_table "events", force: :cascade do |t|
  t.string "title"
  t.text "description"
  t.string "location"
  t.integer "user_id"
  t.datetime "created_at", null: false
  t.datetime "updated_at", null: false
  t.index ["user_id"], name: "index_events_on_user_id"
end

create_table "events_hash_tags", id: false, force: :cascade do |t|
  t.integer "event_id"
  t.integer "hash_tag_id"
  t.index ["event_id"], name: "index_events_hash_tags_on_event_id"
  t.index ["hash_tag_id"], name: "index_events_hash_tags_on_hash_tag_id"
end

create_table "hash_tags", force: :cascade do |t|
  t.string "name"
  t.datetime "created_at", null: false
  t.datetime "updated_at", null: false
end

hashtags успешно создан в таблице hash_tags и создана ассоциация с events_hash_tags.

Я хочу знать, как найти трендовый hashtags на основе вариантов использования, например, если 10 хештегов в таблице hash_tags, то как найти, какой hashtag использовался в большинстве событий, если один hashtag использовался в 10 событиях и тогда это максимум, как найти это программно.

У меня вопрос, как найти 5 трендов hashtags, которые использовали максимальное время событий.

Пердон, если я плохо объяснил.

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Другой ответ от @PatMellon частично верен, причина в том, что @questionnaire сказано в комментарии, ниже ответа, который является столбцом name, является уникальным и связан с events_hash_tags.

Я думаю, что вынеобходимо соблюдать has_many :through Ассоциация и counter_cache для подсчета ассоциации.

А затем

@trendings = HashTag.limit(5).order(events_hash_tags_count: :desc)

Думаю, это поможет

0 голосов
/ 16 мая 2018

HashTag.all.group('name').count.sort_by {|_key, value| value}.reverse.to_h даст отсортированный счетчик всех хеш-тегов, введенных в вашу базу данных.Если вы добавите запрос where, вы можете ограничить поиск днем, неделей или чем-то еще.Если вы выполняете запрос, подобный этому каждый час, в нем будут перечислены наиболее часто используемые или популярные хештеги за этот час.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...