使用Laravel将单个数据值保存到数据库中

问题描述 投票:0回答:1

我在Laravel项目中想保存单个数据值,例如在联系页面上,被困住了。我只想保存一个用户可以编辑的电话号码和位置(而不添加更多的电话号码和位置)。许多人告诉我要继续使用模型,尽管在我眼中他们是在重复内容,例如帖子和用户。是否有一个api / laravel库,可以让我像数据库表中的json对象一样存储单个数据?

json laravel model
1个回答
0
投票

在我目前的工作中,我们为此使用一个单独的settings表,该表具有两列:keyvalue。然后有一个简单的函数可以检索或保存设置:

function setting($key, $value = null){
    $setting = DB::table('settings')->where('key', $key)->first();
    if(is_null($value)){
        return $setting->value ?? null;
    }

    if(isset($setting)){
        $setting->value = $value;
    }else{
        $setting = $setting ?: new stdClass();
        $setting->key = $key;
        $setting->value = $value;
    }

    DB::table('settings')->insertOrReplace((array) $setting);
    return true;
}

它的用法如下:

$phone = setting('phone'); // Get the phone setting
$url = setting('url', 'http://example.com'); // Set url setting
© www.soinside.com 2019 - 2024. All rights reserved.