Passed
Push — feature/optimize ( cf938e...7e8046 )
by Fu
03:43
created

ParseSearchTrait::parseSearch()   A

Complexity

Conditions 5
Paths 4

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 7
nc 4
nop 0
dl 0
loc 12
rs 9.6111
c 0
b 0
f 0
1
<?php
2
3
4
namespace Modules\Core\Traits\Criteria;
5
6
trait ParseSearchTrait
7
{
8
    /** @var \Illuminate\Http\Request $request */
9
    protected $request;
10
    /** @var \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|\Illuminate\Database\Query\Builder $model */
11
    protected $model;
12
    /** @var \Prettus\Repository\Contracts\RepositoryInterface $repository */
13
    protected $repository;
14
    protected $search;
15
    protected $searchData;
16
    protected $searchFields;
17
    protected $isFirstField;
18
    protected $modelForceAndWhere;
19
    protected $fieldsSearchable;
20
    protected $fields;
21
    protected $filter;
22
    protected $orderBy;
23
    protected $sortedBy;
24
    protected $with;
25
    protected $searchJoin;
26
    protected $acceptedConditions;
27
    protected $originalFields;
28
29
    protected function parseSearch()
30
    {
31
        if (stripos($this->search, ';') || stripos($this->search, ':')) {
32
            $values = explode(';', $this->search);
33
            foreach ($values as $value) {
34
                $s = explode(':', $value);
35
                if (count($s) == 1) {
36
                    $this->search = $s[0];
37
                }
38
            }
39
40
            $this->search = null;
41
        }
42
    }
43
}