You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now it just executes the :hash_tree method for each root. So it's potentially a O(N) query. It can be done in one swipe, preloading by generation including the roots:
scope = Category.select("categories.*, category_hierarchies.*").
joins("left join category_hierarchies on ancestor_id = categories.id").
order("parent_id IS NOT NULL, generations ASC, name")
The text was updated successfully, but these errors were encountered:
You're correct, the class #hash_tree method does do 1 select for every root, but your scope won't work, as it hides the root nodes, nor does it respect the :limit_depth option.
You are right it does not take into account the :limit_depth option, but the roots are loaded first because of the left join and the parent_id is not null first order key (so roots are listed first). In any case it was just a hint, I didn't mean to provide a comlpete solution... Thanks for citing me in the changelog.
Right now it just executes the :hash_tree method for each root. So it's potentially a O(N) query. It can be done in one swipe, preloading by generation including the roots:
The text was updated successfully, but these errors were encountered: