Одна строка запроса имеет и принадлежит многим отношениям - PullRequest
0 голосов
/ 05 апреля 2019

Я использую отношение «многие ко многим» в своем классе моделей и пытаюсь написать однострочный запрос, чтобы извлечь все статьи и теги, связанные с этим, в виде массива.Может ли кто-нибудь помочь мне с кодом?

Например, мне нужен пример нижеупомянутого вывода.

['Article_id', 'Article_name', 'Tag_id', 'Tag_name']

['1', 'Sample', '2', 'sample']
['1', 'Sample', '3', 'sample']


Модель класса: -

class Article < ActiveRecord::Base
  has_and_belongs_to_many :tags
end

class Tag < ActiveRecord::Base
  has_and_belongs_to_many :articles  
end

1 Ответ

0 голосов
/ 05 апреля 2019

Этого можно добиться, объединив обе таблицы и используя pluck, чтобы получить только определенный список атрибутов во вложенном массиве:

Article.joins(:tags).pluck('articles.id, articles.name, tags.id, tags.name')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...