QueryBuilder::set()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 2
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Silk\User;
4
5
use WP_User_Query;
6
use Silk\Query\Builder as BaseBuilder;
7
8
/**
9
 * @property Model $model
10
 */
11
class QueryBuilder extends BaseBuilder
12
{
13
    /**
14
     * The query instance
15
     * @var WP_User_Query
16
     */
17
    protected $query;
18
19
    /**
20
     * QueryBuilder Constructor.
21
     *
22
     * @param WP_User_Query $query
23
     */
24
    public function __construct(WP_User_Query $query = null)
25
    {
26
        if (! $query) {
27
            $query = new WP_User_Query();
28
        }
29
30
        $this->query = $query;
31
    }
32
33
    /**
34
     * Create a new instance.
35
     *
36
     * @param WP_User_Query $query
37
     *
38
     * @return static
39
     */
40
    public static function make(WP_User_Query $query = null)
41
    {
42
        return new static($query);
43
    }
44
45
    /**
46
     * Execute the query and return the raw results.
47
     *
48
     * @return array
49
     */
50
    protected function query()
51
    {
52
        $this->set('fields', 'all');
53
54
        $this->query->prepare_query();
55
        $this->query->query();
56
57
        return $this->query->get_results();
58
    }
59
60
    /**
61
     * Set an arbitrary query parameter.
62
     *
63
     * @param $parameter
64
     * @param $value
65
     *
66
     * @return $this
67
     */
68
    public function set($parameter, $value)
69
    {
70
        $this->query->set($parameter, $value);
71
72
        return $this;
73
    }
74
}
75