diff options
author | Rhenium <rhenium@rhe.jp> | 2014-02-22 00:22:08 +0900 |
---|---|---|
committer | Rhenium <rhenium@rhe.jp> | 2014-02-22 00:22:08 +0900 |
commit | 19365a56a929b0b09dddc6d1fb46cdd7cad13eda (patch) | |
tree | a4e642ec3d36bb03d3ce1e3729aa1aa6016781f0 /app/models/tweet.rb | |
parent | 24972568be32e9b32126e10434b503da3dad76f6 (diff) | |
download | aclog-19365a56a929b0b09dddc6d1fb46cdd7cad13eda.tar.gz |
fix SQL of tweets#user_discoveries / tweets#user_discovered_by
Diffstat (limited to 'app/models/tweet.rb')
-rw-r--r-- | app/models/tweet.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/app/models/tweet.rb b/app/models/tweet.rb index e0cb347..b3da0dd 100644 --- a/app/models/tweet.rb +++ b/app/models/tweet.rb @@ -28,9 +28,11 @@ class Tweet < ActiveRecord::Base load_count = all.limit_value.to_i + all.offset_value.to_i load_count = nil if load_count == 0 - un = [:favorites, :retweets].map {|m| joins(m).where(m => { user: user }).order(id: :desc).limit(load_count).to_sql }.map {|m| "(#{m})" }.join(" UNION ") + un = [:favorites, :retweets].map {|m| + user.__send__(m).select(:tweet_id).order(tweet_id: :desc).limit(load_count) + }.map {|m| "(#{m.to_sql})" }.join(" UNION ") - from("(#{un}) AS tweets") + joins("INNER JOIN ((#{un})) reactions ON reactions.tweet_id = tweets.id") } def twitter_url |