Post.in_order_of(:type, %w[Draft Published Archived]).order(:created_at).pluck(:name) which generates SELECT posts.name FROM posts ORDER BY CASE posts.type WHEN 'Draft' THEN 1 WHEN 'Published' THEN 2 WHEN 'Archived' THEN 3 ELSE 4 END ASC, posts.created_at ASC
 6 Matching Annotations
        
        - Nov 2022
- 
            
github.com github.com
- 
  
- Feb 2021
- 
            
github.com github.com- 
  where_values_hash.reduce(&:or) 
- 
  scope :deck_access, ->(user) { includes(:deck_permissions).where(where({ deck_permissions: { user_id: user.id, read_access: true } }, global_deck_read: true, user_id: user.id).where_values_hash.reduce(&:or)) } 
 
- 
  
- Jun 2020
- 
            
medium.com medium.com- 
  If those comments are loaded outside of the blog_post association, then attempting to reference the blog_post association from within each comment will result in N blog_posts table queries even if they all belong to the same BlogPost! 
 
- 
  
- Jan 2020
- 
            
stackoverflow.com stackoverflow.com- 
  Event.joins(:packages).having('array_agg(packages.type) @> array[?]', packages).group(:id) 
 
- 
  
- 
            
stackoverflow.com stackoverflow.com- 
  This illustrates a pretty common challenge with joins: you want them to be used for some of the query but not for other of it. 
 
-