Passed
Pull Request — master (#610)
by John
09:24 queued 03:16
created

AppSettings::set()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
eloc 9
nc 2
nop 2
dl 0
loc 12
rs 9.9666
c 1
b 0
f 1
1
<?php
2
3
namespace App\Models\Eloquent\Tool;
4
5
use App\Models\Eloquent\Setting;
6
7
class AppSettings
8
{
9
    public static function get($key, $default) {
10
        $ret=Setting::where(['key' => $key])->first();
11
        if (blank($ret) || blank($ret->content)) {
12
            return $default;
13
        }
14
        return $ret->is_json ? json_decode($ret->content) : $ret->content;
15
    }
16
17
    public static function set($key, $content) {
18
        $ret=Setting::where(['key' => $key])->first();
19
        if (blank($ret)) {
20
            return Setting::create([
21
                'key' => $key,
22
                'content' => $content,
23
                'is_json' => false,
24
            ]);
25
        }
26
        return Setting::find($ret->id)->update([
27
            'content' => $content,
28
            'is_json' => false,
29
        ]);
30
    }
31
}
32