1 <?php namespace Oxbow\Services;
8 * The settings are a simple key-value database store.
10 * @package Oxbow\Services
18 * SettingService constructor.
21 public function __construct(Setting $setting)
23 $this->setting = $setting;
27 * Gets a setting from the database,
28 * If not found, Returns default, Which is false by default.
30 * @param string|bool $default
33 public function get($key, $default = false)
35 $setting = $this->getSettingObjectByKey($key);
36 return $setting === null ? $default : $setting->value;
40 * Checks if a setting exists.
44 public function has($key)
46 $setting = $this->getSettingObjectByKey($key);
47 return $setting !== null;
51 * Add a setting to the database.
56 public function put($key, $value)
58 $setting = $this->setting->firstOrNew([
61 $setting->value = $value;
67 * Removes a setting from the database.
71 public function remove($key)
73 $setting = $this->getSettingObjectByKey($key);
81 * Gets a setting model from the database for the given key.
85 private function getSettingObjectByKey($key) {
86 return $this->setting->where('setting_key', '=', $key)->first();