Completed
Push — master ( 8d9fc1...3918c3 )
by Tõnis
02:14
created

BaseQuestionGroup::tableName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace dameter\abstracts\models;
4
5
use dameter\abstracts\interfaces\Conditionable;
6
use dameter\abstracts\WithLanguageSettingsModel;
7
use dameter\abstracts\interfaces\Sortable;
8
9
10
/**
11
 * Class QuestionGroup
12
 * @property integer $question_group_id
13
 * @property integer $order
14
 *
15
 * @property BaseQuestion[] $questions
16
 * @property ModelCondition $modelCondition
17
 * @property Condition $condition
18
 *
19
 * @package dameter\abstracts\models
20
 * @author Tõnis Ormisson <[email protected]>
21
 */
22
class BaseQuestionGroup extends WithLanguageSettingsModel implements Sortable, Conditionable
23
{
24
    public static $settingsClass = QuestionGroupText::class;
25
26
    /**
27
     * {@inheritdoc}
28
     */
29
    public static function tableName()
30
    {
31
        return "question_group";
32
    }
33
34
    /**
35
     * {@inheritdoc}
36
     */
37
    public static function primaryKey()
38
    {
39
        return ["question_group_id"];
40
    }
41
42
    /**
43
     * {@inheritdoc}
44
     */
45
    public function rules()
46
    {
47
        return array_merge(parent::rules(), [
48
            [['order'], 'required'],
49
            [['order'], 'integer'],
50
        ]);
51
    }
52
53
    /**
54
     * @return \yii\db\ActiveQuery
55
     */
56
    public function getQuestions()
57
    {
58
        return $this->hasMany(BaseQuestion::class);
59
    }
60
61
    /**
62
     * @return Condition
63
     */
64
    public function getCondition()
65
    {
66
        if (!empty($this->modelCondition)) {
67
            return $this->modelCondition->child;
68
        }
69
        return null;
70
    }
71
72
    /**
73
     * @return \yii\db\ActiveQuery
74
     */
75
    public function getModelCondition()
76
    {
77
        return $this->hasOne(ModelCondition::class);
78
    }
79
}