FindOrCreateTrait::findOrCreate()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 2
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created for IG Monitoring.
4
 * User: jakim <[email protected]>
5
 * Date: 12.06.2018
6
 */
7
8
namespace app\components\traits;
9
10
11
use yii\db\ActiveRecord;
12
13
trait FindOrCreateTrait
14
{
15
    public function findOrCreate(array $conditions, string $class): ActiveRecord
16
    {
17
        /** @var ActiveRecord $class */
18
        $model = $class::findOne($conditions);
19
        if ($model === null) {
20
            $model = new $class($conditions);
21
        }
22
23
        return $model;
24
    }
25
}