ActiverecordとMySQLを使用するRails3アプリにモデルがLog
関連付けられているモデルがあります。User
ALog
には、と呼ばれる文字列との2つの属性がありlabel
ますtimestamp
。文字列「create」を含むすべてのものを検索Log
したいのですが、クエリがユーザーごとに1つのレコードのみを返すようにし、さらに、属性label
に関してこれらの条件に一致する最初のレコードが必要です。timestamp
それがあまりにも紛らわしい場合はお知らせください。もっと明確にしようと思います。
これを行うための遅い方法は...
logs=[]
User.all.each do |u|
logs << Log.where("label like ? and user_id = ?","%create%", u.id).order('timestamp').limit(1)[0]
end