Completed
Pull Request — master (#223)
by Axel
04:10
created

SearchesExact   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 2
dl 0
loc 15
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 12 3
1
<?php
2
3
namespace Spatie\QueryBuilder\Searches;
4
5
use Illuminate\Database\Eloquent\Builder;
6
7
class SearchesExact extends SearchesBase
8
{
9
    public function __invoke(Builder $query, $value, string $property, ?string $modifier = null) : Builder
10
    {
11
        if ($this->isRelationProperty($query, $property)) {
12
            return $this->withRelationConstraint($query, $value, $property);
13
        }
14
15
        if (is_array($value)) {
16
            return $query->orWhereIn($property, $value);
17
        }
18
19
        return $query->orWhere($property, '=', $value);
20
    }
21
}
22