optimize search query with join
This commit is contained in:
parent
8977d3d161
commit
fd11442a76
|
|
@ -98,10 +98,9 @@ class SearchController extends ListDiscussionsController
|
||||||
});
|
});
|
||||||
|
|
||||||
$discussions = Discussion::query()
|
$discussions = Discussion::query()
|
||||||
->whereIn('id', $results->pluck('discussion_id')->filter())
|
->join('posts', 'posts.discussion_id', 'discussions.id')
|
||||||
->orWhereHas('posts', function ($query) use ($results) {
|
->whereIn('discussions.id', $results->pluck('discussion_id')->filter())
|
||||||
$query->whereIn('id', $results->pluck('most_relevant_post_id'));
|
->orWhereIn('posts.id', $results->pluck('most_relevant_post_id')->filter())
|
||||||
})
|
|
||||||
->get()
|
->get()
|
||||||
->each(function (Discussion $discussion) use ($results) {
|
->each(function (Discussion $discussion) use ($results) {
|
||||||
if (in_array($discussion->id, $results->pluck('discussion_id')->toArray())) {
|
if (in_array($discussion->id, $results->pluck('discussion_id')->toArray())) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue