PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Afficher le dernier enfant dans l'itération React

Vous pouvez essayer ce qui suit :

Message.where(to: current_user.id)
       .order(:created_at)
       .group_by(&:user_id)
       .map{|_, x| x.last}

Cela devrait donner le dernier message (par created_at ) de chaque user_id .

Tant que vous utilisez Postgresql, vous pouvez essayer distinct on approche :

Message.where(to: current_user.id)
       .order(user_id: :asc, created_at: :desc)
       .select('distinct on (user_id) *')