PlanQuery::attributesMap()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 13
c 2
b 0
f 1
dl 0
loc 18
ccs 0
cts 18
cp 0
rs 9.8333
cc 1
nc 1
nop 0
crap 2
1
<?php
2
/**
3
 * API for Billing
4
 *
5
 * @link      https://github.com/hiqdev/billing-hiapi
6
 * @package   billing-hiapi
7
 * @license   BSD-3-Clause
8
 * @copyright Copyright (c) 2017-2018, HiQDev (http://hiqdev.com/)
9
 */
10
11
namespace hiqdev\billing\hiapi\plan;
12
13
use hiqdev\billing\hiapi\models\Plan;
14
15
class PlanQuery extends \hiqdev\yii\DataMapper\query\Query
16
{
17
    /**
18
     * @var string
19
     */
20
    protected $modelClass = Plan::class;
21
22
    protected function attributesMap()
23
    {
24
        return [
25
            'id' => 'zt.obj_id',
26
            'name' => 'zt.name',
27
            'type' => [
28
                'name' => 'tt.name',
29
            ],
30
            'seller' => [
31
                'id' => 'zc.obj_id',
32
                'login' => 'zc.login',
33
                'seller' => [
34
                    'id' => 'cr.obj_id',
35
                    'login' => 'cr.login',
36
                ],
37
            ],
38
            'is_grouping' => 'zt.is_grouping',
39
            'available_for' => new AvailableForField(),
40
        ];
41
    }
42
43
    public function initFrom()
44
    {
45
        return $this->from('tariff  zt')
46
            ->leftJoin('zref        tt', 'tt.obj_id = zt.type_id')
47
            ->leftJoin('zclient     zc', 'zc.obj_id = zt.client_id')
48
            ->leftJoin('zclient     cr', 'cr.obj_id = zc.seller_id');
49
    }
50
}
51