@@ 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; |