は、私は次の表を持っているコースIDで検索:Railsの - すべてのユーザー=ユニーク
Tweet(id: integer, from_user: string, tweet_text: string, tweet_id: integer, course_id: integer, tweet_already_exists: boolean, tweet_posted_to_reviews: boolean, created_at: datetime, updated_at: datetime)
そして、特定のコースのために、私はユーザーによるユニークな、最後の50件のつぶやきを取得したいのですが。私はこれまでのところ得ている:これで
Tweet.order("tweet_id desc").find_all_by_course_id(@course.id).first(50)
問題は、ユーザーが複数回ツイートしている場合、彼らは2回表示(両方のツイートが表示されます)と私はその人の最新のつぶやきを取得したいということです。
ありがとうございました!
こんにちはtsherif、これは素晴らしいです!ほぼ完璧に動作します!唯一のことは、ユーザーの最初のつぶやき(最後のものではなく)を引っ張っていることです。 '.order(" tweets.tweet_id desc ")'を '.order(" tweets.tweet_id asc ")に変更すると、ページ上のツイートの順序が変更されます(ユーザーの最新のツイートを引きます)。どのようにそれを修正するための任意のアイデア?また、このクエリがPG上で動作するかどうかを知っていますか(Cedarスタックを使用してherokuにサイトがありますか?)あなたの助けをもう一度ありがとう、非常に感謝! –
ネストされたクエリの '> ='と '<='と 'MAX'を' MIN'に変更してみてください。しかし、PGのものについてはわかりません... – tsherif
Brilliant!そんなにtsherifありがとう、それはローカルで動作します。どのようにクエリを作成したのかを理解するために私が見ておくべき特定のリソースがあるかどうか教えてください。再度、感謝します!! –