aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/tweet.rb
diff options
context:
space:
mode:
authorRhenium <rhenium@rhe.jp>2014-02-22 00:22:08 +0900
committerRhenium <rhenium@rhe.jp>2014-02-22 00:22:08 +0900
commit19365a56a929b0b09dddc6d1fb46cdd7cad13eda (patch)
treea4e642ec3d36bb03d3ce1e3729aa1aa6016781f0 /app/models/tweet.rb
parent24972568be32e9b32126e10434b503da3dad76f6 (diff)
downloadaclog-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.rb6
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