mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 21:16:28 +08:00
let's not run 3 queries, when a single query will do.
This commit is contained in:
parent
7661a5fed2
commit
8ec6d0ea6c
|
@ -12,18 +12,20 @@ class SuggestedTopicsBuilder
|
||||||
|
|
||||||
def add_results(results)
|
def add_results(results)
|
||||||
|
|
||||||
return if results.blank?
|
# WARNING .blank? will execute an Active Record query
|
||||||
|
return unless results
|
||||||
|
|
||||||
# Only add results if we don't have those topic ids already
|
# Only add results if we don't have those topic ids already
|
||||||
results = results.where('topics.id NOT IN (?)', @excluded_topic_ids)
|
results = results.where('topics.id NOT IN (?)', @excluded_topic_ids)
|
||||||
.where(closed: false, archived: false, visible: true)
|
.where(closed: false, archived: false, visible: true)
|
||||||
|
.to_a
|
||||||
|
|
||||||
return if results.blank?
|
unless results.empty?
|
||||||
|
|
||||||
# Keep track of the ids we've added
|
# Keep track of the ids we've added
|
||||||
@excluded_topic_ids.concat results.map {|r| r.id}
|
@excluded_topic_ids.concat results.map {|r| r.id}
|
||||||
@results.concat results
|
@results.concat results
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def results_left
|
def results_left
|
||||||
SiteSetting.suggested_topics - @results.size
|
SiteSetting.suggested_topics - @results.size
|
||||||
|
|
Loading…
Reference in New Issue
Block a user