Completed
Branch v2 (10e463)
by Alexey
02:41
created

MultiQuery   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 2
dl 0
loc 30
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A addQuery() 0 5 1
A getQuery() 0 13 2
A fetchAll() 0 4 1
1
<?php namespace Bardex\Elastic;
2
3
class MultiQuery extends Query
4
{
5
    protected $queryList = [];
6
7
    public function addQuery(SearchQuery $query)
8
    {
9
        $this->queryList[] = $query;
10
        return $this;
11
    }
12
13
    public function getQuery()
14
    {
15
        $params = ['body' => []];
16
        foreach ($this->queryList as $query) {
17
            $query = $query->getQuery();
18
            $params['body'][] = [
19
                'index' => $query['index'],
20
                'type'  => $query['type'],
21
            ];
22
            $params['body'][] = $query['body'];
23
        }
24
        return $params;
25
    }
26
27
    public function fetchAll($hydration=true)
28
    {
29
        return $this->client->msearch($this->getQuery(), $hydration);
30
    }
31
32
}
33