BaseLanguageSetting   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 10
dl 0
loc 32
c 0
b 0
f 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getParents() 0 2 1
A getLanguage() 0 3 1
A rules() 0 10 1
1
<?php
2
namespace dameter\abstracts\models;
3
4
use dameter\abstracts\DActiveRecord;
5
use dameter\abstracts\WithLanguageSettingsModel;
6
7
/**
8
 * Class BaseLanguageSetting
9
 * @property integer $language_id PK
10
 * @property string $value the translation text
11
 *
12
 * @property Language $language
13
 * @property DActiveRecord[] $parents
14
 *
15
 * @package dameter\abstracts\models
16
 * @author Tõnis Ormisson <[email protected]>
17
 */
18
class BaseLanguageSetting extends DActiveRecord
19
{
20
    /** @var string */
21
    public static $parentClass;
22
23
    /** {@inheritdoc} */
24
    public function rules()
25
    {
26
        /** @var WithLanguageSettingsModel $parentClass */
27
        $parentClass = $this::$parentClass;
28
29
        return [
30
            [['value', $parentClass::primaryKeySingle()], 'required'],
31
            [['value'], 'string'],
32
            [[$parentClass::primaryKeySingle()], 'integer'],
33
            [[$parentClass::primaryKeySingle()], 'exist', 'skipOnError' => true, 'targetClass' => $parentClass, 'targetAttribute' => [$parentClass::primaryKeySingle() => $parentClass::primaryKeySingle()]],
34
        ];
35
    }
36
37
    /**
38
     * @return \yii\db\ActiveQuery
39
     */
40
    public function getLanguage()
41
    {
42
        return $this->hasOne(Language::class);
43
    }
44
45
    /**
46
     * @return \yii\db\ActiveQuery
47
     */
48
    public function getParents() {
49
        return $this->hasMany($this->parentClass);
50
    }
51
52
}