diff --git a/src/User/Search/Gambit/FulltextGambit.php b/src/User/Search/Gambit/FulltextGambit.php index 01080a4f5..9cfe5ea20 100644 --- a/src/User/Search/Gambit/FulltextGambit.php +++ b/src/User/Search/Gambit/FulltextGambit.php @@ -28,15 +28,25 @@ class FulltextGambit implements GambitInterface $this->users = $users; } + /** + * @param $searchValue + * @return \Illuminate\Database\Eloquent\Builder + */ + private function getUserSearchSubQuery($searchValue) + { + return $this->users + ->query() + ->select('id') + ->where('username', 'like', "{$searchValue}%"); + } + /** * {@inheritdoc} */ - public function apply(AbstractSearch $search, $bit) + public function apply(AbstractSearch $search, $searchValue) { - $users = $this->users->getIdsForUsername($bit, $search->getActor()); - - $search->getQuery()->whereIn('id', $users); - - $search->setDefaultSort(['id' => $users]); + $search->getQuery() + ->whereIn('id', + $this->getUserSearchSubQuery($searchValue)); } }