FindOrCreateTrait   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 11
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 11
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A findOrCreate() 0 9 2
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
}