Skip to content

Commit c705d8b

Browse files
committed
add optional parameter to UnionBuilder::search for modify Scout builder
1 parent be4b64f commit c705d8b

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/UnionBuilder.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,11 @@ public static function from(array $models)
6666
*
6767
* @param string $searchQuery
6868
* @param array<class-string<\Illuminate\Database\Eloquent\Model>>|array<class-string<\Illuminate\Database\Eloquent\Model>, array> $models
69+
* @param array<class-string<\Illuminate\Database\Eloquent\Model>>|array<class-string<\Illuminate\Database\Eloquent\Model>, array> $models
70+
* @param \Closure|null $callback
6971
* @return \OpenSoutheners\LaravelEloquentUnionBuilder\UnionBuilder
7072
*/
71-
public static function search(string $searchQuery, array $models)
73+
public static function search(string $searchQuery, array $models, $callback = null)
7274
{
7375
$unionBuilder = new static();
7476

@@ -82,7 +84,14 @@ public static function search(string $searchQuery, array $models)
8284
throw new Exception("Model '${model}' is invalid.");
8385
}
8486

85-
$modelSearchResultKeys = $model::search($searchQuery)->keys();
87+
/** @var \Laravel\Scout\Builder $scoutBuilder */
88+
$scoutBuilder = $model::search($searchQuery);
89+
90+
if (is_callable($callback)) {
91+
$callback($scoutBuilder);
92+
}
93+
94+
$modelSearchResultKeys = $scoutBuilder->keys();
8695

8796
if ($modelSearchResultKeys->isEmpty()) {
8897
continue;

0 commit comments

Comments
 (0)