我在Laravel项目中想保存单个数据值,例如在联系页面上,被困住了。我只想保存一个用户可以编辑的电话号码和位置(而不添加更多的电话号码和位置)。许多人告诉我要继续使用模型,尽管在我眼中他们是在重复内容,例如帖子和用户。是否有一个api / laravel库,可以让我像数据库表中的json对象一样存储单个数据?
在我目前的工作中,我们为此使用一个单独的settings
表,该表具有两列:key
和value
。然后有一个简单的函数可以检索或保存设置:
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