SaleQuery::initFrom()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 6
c 1
b 0
f 1
dl 0
loc 8
ccs 0
cts 8
cp 0
rs 10
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\sale;
12
13
use hiqdev\billing\hiapi\models\Sale;
14
15
class SaleQuery extends \hiqdev\yii\DataMapper\query\Query
16
{
17
    /**
18
     * @var string
19
     */
20
    protected $modelClass = Sale::class;
21
22
    protected function attributesMap()
23
    {
24
        return [
25
            'id' => 'zs.obj_id',
26
            'target' => [
27
                'id' => 'zs.object_id',
28
                'type' => 'oc.name',
29
            ],
30
            'customer' => [
31
                'id' => 'zc.obj_id',
32
                'login' => 'zc.login',
33
                'seller' => [
34
                    'id' => 'cr.obj_id',
35
                    'login' => 'cr.login',
36
                ],
37
            ],
38
            'seller' => [
39
                'id' => 'zs.seller_id',
40
            ],
41
            'plan' => [
42
                'id' => 'zs.tariff_id',
43
                'name' => 'zt.tariff',
44
            ],
45
            'time' => 'zs.time',
46
        ];
47
    }
48
49
    public function initFrom()
50
    {
51
        return $this->from('zsale   zs')
52
            ->leftJoin('obj         so', 'so.obj_id = zs.object_id')
53
            ->leftJoin('zref        oc', 'oc.obj_id = so.class_id')
54
            ->leftJoin('ztariff     zt', 'zt.obj_id = zs.tariff_id')
55
            ->leftJoin('zclient     zc', 'zc.obj_id = zs.buyer_id')
56
            ->leftJoin('zclient     cr', 'cr.obj_id = zc.seller_id');
57
    }
58
}
59