PortfolioEngine :: Загрузка портфеля (0,3 мс) ВЫБЕРИТЕ "portfolio_engine_portfolios". * ОТ "portfolio_engine_portfolios" ВНУТРЕННЕЕ СОЕДИНЕНИЕ "portfolio_engine_items" ВКЛ.portfolio_engine_portfolios.sort_index ASC, portfolio_engine_items.sort_index ASC
PortfolioEngine :: Элемент Load (0.2ms) ВЫБРАТЬ «portfolio_engine_items». * ИЗ «портфолио_engine_items« ГДЕ »portfolio_engine_items_port_engine_items"., sort_index asc
PortfolioEngine :: Item Load (0.3ms) ВЫБРАТЬ "portfolio_engine_items". * FROM "portfolio_engine_items" ГДЕ
PortfolioEngine :: Load Item (0.2ms) ВЫБРАТЬ "portfolio_engine_items". * ОТ "portfolio_engine_items" ГДЕ "portfolio_engine_items". "Portfolio_id" = 1 ORDER BY portfolio_engine_items.sort_index ASC, sort_index asc
n + 1 запускается путем циклического просмотра элементов каждого портфеля.
class Portfolio < ActiveRecord::Base
has_many :items,
order: "portfolio_engine_items.sort_index asc",
autosave: true,
inverse_of: :portfolio
default_scope :order => 'portfolio_engine_portfolios.sort_index ASC'
end
class Item < ActiveRecord::Base
belongs_to :portfolio
belongs_to :client
has_many :images,
order: "sort_index ASC",
autosave: true,
inverse_of: :item
end
Понятия не имею, почему это происходит ....
@portfolios = PortfolioEngine::Portfolio.
joins(:items).
order("portfolio_engine_portfolios.sort_index ASC, portfolio_engine_items.sort_index ASC").
all