Skip to content

Commit 3ef8971

Browse files
committed
Patch for PHP8.3.13
1 parent 5adbe5d commit 3ef8971

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/Engines/ArrayEngine.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,18 @@ protected function performSearch(Builder $builder, array $options = [])
106106
$index = $builder->index ?: $builder->model->searchableAs();
107107

108108
$matches = $this->store->find($index, function ($record) use ($builder) {
109-
$values = new RecursiveIteratorIterator(new RecursiveArrayIterator($record));
110-
109+
$values = [];
110+
array_walk_recursive($record, function ($value) use (&$values) {
111+
if ($value instanceof \BackedEnum) {
112+
$values[] = $value->value;
113+
} elseif (is_scalar($value) || (is_object($value) && method_exists($value, '__toString'))) {
114+
$values[] = (string) $value;
115+
}
116+
});
111117
return $this->matchesFilters($record, $builder->wheres) &&
112118
$this->matchesFilters($record, $builder->whereIns) &&
113119
$this->matchesFilters($record, data_get($builder, 'whereNotIns', []), true) &&
114-
!empty(array_filter(iterator_to_array($values, false), function ($value) use ($builder) {
120+
!empty(array_filter($values, function ($value) use ($builder) {
115121
return !$builder->query || stripos($value, $builder->query) !== false;
116122
}));
117123
}, true);

0 commit comments

Comments
 (0)