2009-10-31 5 views
3

Par exemple ...
Disons que j'ai un modèle Posts et un modèle News, qui sont essentiellement la même chose (structure sages)
colonnes sont
* titre
* contenu
* createdat
* updatedatComment faire une recherche sur deux modèles différents et trier les deux dans un tableau par la colonne created_at

le client a demandé montrant à la fois nouvelles et les messages sur la même page entrelacée et triés par date created_at ...
Est-ce que quelqu'un sait comment j'irais faire quelque chose comme ça?

Répondre

2
(Post.all + News.all).sort_by(&:created_at) 
+0

Je veux être comme toi quand je serai grand. – concept47

+0

(Post.all + News.all) .sort_by (&: created_at) .reverse pour qu'il soit trié avec les derniers éléments en premier ... juste au cas où quelqu'un d'autre suivrait cela. – concept47

0

Juste un avertissement, la réponse de cwninja sera vraiment lent avec grands ensembles de données, car il exige tirer tous les membres de la base de données, puis en exécutant une sorte sur eux.

Je suggère rarement le SQL brut, mais dans ce cas, je ne peux pas penser à un meilleur moyen.

Questions connexes