2011-07-26 2 views
0

J'essaie de faire une déclaration de base de données, quand je voudrais obtenir les données de la base de données par la valeur de session et aussi par les valeurs, qui sont stockées dans l'autre table.Rails 3 - comment faire une requête un peu compliquée à la base de données

J'ai maintenant quelque chose comme ceci:

@data = Data.where("author = ?", session[:user_id]).order("created_at DESC").page(params[:page]).per(5) 

De cette requête, je vais obtenir les données de l'utilisateur session [: user_id] et maintenant je voudrais obtenir toutes les lignes de la table B , où id = session [: user_id], quelque chose comme ceci:

@bleh = B.where("author = ?", session[:user_id]) 

Et les données de cette requête à utiliser dans le modèle Données, mais je ne sais pas encore comment ... Je suis novice dans RoR, pourriez-vous m'aider quelqu'un, s'il vous plaît?

Merci

+0

résolu, mais je ne suis pas sûr, si le chemin est le meilleur: '= Array.new bla @aaa = B.where ("col =?", session [: user_id]) pour aa @aaa = bla "OR author =" + aa.column.to_s end' – user1946705

+0

avoir de vrais noms de colonnes et de modèles serait très utile – Bohdan

Répondre

0

mmm Je ne sais pas si je comprends tout droit mais il semble que vous voulez STH comme

values = B.where("column = ?", session[:user_id]).map(&:column) 
data = Data.where(:author => values) 
Questions connexes