Completed
Push — master ( 55b0c5...22df67 )
by vistart
19:36
created

BaseRedisEntityModel::primaryKey()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
ccs 0
cts 0
cp 0
rs 9.4285
cc 2
eloc 5
nc 2
nop 0
crap 6
1
<?php
2
3
/**
4
 *  _   __ __ _____ _____ ___  ____  _____
5
 * | | / // // ___//_  _//   ||  __||_   _|
6
 * | |/ // /(__  )  / / / /| || |     | |
7
 * |___//_//____/  /_/ /_/ |_||_|     |_|
8
 * @link http://vistart.name/
9
 * @copyright Copyright (c) 2016 vistart
10
 * @license http://vistart.name/license/
11
 */
12
13
namespace vistart\Models\models;
14
15
use vistart\Models\queries\BaseRedisEntityQuery;
16
use vistart\Models\traits\EntityTrait;
17
18
/**
19
 * Description of BaseRedisEntityModel
20
 *
21
 * @version 2.0
22
 * @author vistart <[email protected]>
23
 */
24
abstract class BaseRedisEntityModel extends \yii\redis\ActiveRecord
25
{
26
    use EntityTrait;
27
28
    /**
29
     * Initialize new entity.
30
     */
31 6
    public function init()
32
    {
33 6
        if ($this->skipInit) {
34 1
            return;
35
        }
36 6
        $this->initEntityEvents();
37 6
        parent::init();
38 6
    }
39
40
    /**
41
     * @inheritdoc
42
     * @return \vistart\Models\queries\BaseRedisEntityQuery the newly created [[BaseEntityQuery]] or its sub-class instance.
43
     */
44 6
    public static function find()
45
    {
46 6
        $self = static::buildNoInitModel();
47 6
        if (!is_string($self->queryClass)) {
48 1
            $self->queryClass = BaseRedisEntityQuery::className();
49 1
        }
50 6
        $queryClass = $self->queryClass;
51 6
        return new $queryClass(get_called_class(), ['noInitModel' => $self]);
52
    }
53
54 6
    public function attributes()
55
    {
56 6
        return $this->enabledFields();
57
    }
58
59
    public static function primaryKey()
60
    {
61
        $model = static::buildNoInitModel();
62
        if (is_string($model->guidAttribute)) {
63
            return [$model->guidAttribute];
64
        }
65
        return [$model->idAttribute];
66
    }
67
}
68