Как улучшить следующий запрос к базе данных? - PullRequest
0 голосов
/ 13 марта 2012

Я использую Ruby on Rails 3.1.Я запрашиваю базу данных , чтобы получить объекты статьи, имеющие отношение not категории с пользователем , и пытаюсь улучшить следующий код:

article_relationship_ids =
  User.article_category_relationships
  .uniq_by{|article_category_relationship| article_category_relationship.article_id}
  .map(&:article_id)

user.articles.where("articles.id NOT IN (?)", article_relationship_ids)

Как я могу улучшить приведенный выше код?

PS : Является ли мой "метод извлечения" "логически" правильным, чтобы сделать то, что я хотел бы?

1 Ответ

1 голос
/ 13 марта 2012

Это должно получить ваши идентификаторы без дальнейшей обработки на рубиновой стороне:

article_relationship_ids =
  User.article_category_relationships.select(:article_id).uniq
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...