Completed
Push — master ( 196bfd...794470 )
by Tõnis
02:15
created

BaseQuestionGroup::getModelCondition()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
eloc 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 function rules()
30
    {
31
        return array_merge(parent::rules(), [
32
            [['order'], 'required'],
33
            [['order'], 'integer'],
34
        ]);
35
    }
36
37
    /**
38
     * @return \yii\db\ActiveQuery
39
     */
40
    public function getQuestions()
41
    {
42
        return $this->hasMany(BaseQuestion::class);
43
    }
44
45
    /**
46
     * @return Condition
47
     */
48
    public function getCondition()
49
    {
50
        if (!empty($this->modelCondition)) {
51
            return $this->modelCondition->child;
52
        }
53
        return null;
54
    }
55
56
    /**
57
     * @return \yii\db\ActiveQuery
58
     */
59
    public function getModelCondition()
60
    {
61
        return $this->hasOne(ModelCondition::class);
62
    }
63
}