|
@@ 94-100 (lines=7) @@
|
| 91 |
|
$isFirstField = true; |
| 92 |
|
|
| 93 |
|
return $builder->where(function (Builder $query) use ($fieldsByType, $isFirstField) { |
| 94 |
|
foreach ($fieldsByType['and'] as $fieldName => $fieldQuery) { |
| 95 |
|
if (str_contains($fieldName, '.')) { |
| 96 |
|
$this->formatWhereHasClause($query, $fieldName, $fieldQuery, true); |
| 97 |
|
} else { |
| 98 |
|
$this->formatWhereClause($query, $fieldName, $fieldQuery, true); |
| 99 |
|
} |
| 100 |
|
} |
| 101 |
|
|
| 102 |
|
$isOrAlone = count($fieldsByType['or']) > 1 ? 'where' : 'orWhere'; |
| 103 |
|
$query->{$isOrAlone}(function ($query) use ($fieldsByType) { |
|
@@ 104-110 (lines=7) @@
|
| 101 |
|
|
| 102 |
|
$isOrAlone = count($fieldsByType['or']) > 1 ? 'where' : 'orWhere'; |
| 103 |
|
$query->{$isOrAlone}(function ($query) use ($fieldsByType) { |
| 104 |
|
foreach ($fieldsByType['or'] as $fieldName => $fieldQuery) { |
| 105 |
|
if (str_contains($fieldName, '.')) { |
| 106 |
|
$this->formatWhereHasClause($query, $fieldName, $fieldQuery); |
| 107 |
|
} else { |
| 108 |
|
$this->formatWhereClause($query, $fieldName, $fieldQuery); |
| 109 |
|
} |
| 110 |
|
} |
| 111 |
|
}); |
| 112 |
|
|
| 113 |
|
return $query; |