Example #1
0
 /**
  * Stores a setting value to the database.
  * @param string $key Specifies the setting key value, for example 'system:updates.check'
  * @param mixed $value The setting value to store, serializable.
  */
 public static function set($key, $value = null)
 {
     if (is_array($key)) {
         foreach ($key as $_key => $_value) {
             static::set($_key, $_value);
         }
         return true;
     }
     $record = static::findRecord($key)->first();
     if (!$record) {
         $record = new static();
         list($namespace, $group, $item) = $record->parseKey($key);
         $record->namespace = $namespace;
         $record->group = $group;
         $record->item = $item;
     }
     $record->value = $value;
     $record->save();
     static::$cache[$key] = $value;
     return true;
 }
Example #2
0
 /**
  * Returns a record (cached)
  * @return self
  */
 public static function findRecord($key)
 {
     $record = new static();
     list($namespace, $group, $item) = $record->parseKey($key);
     return $record->applyKey($key)->remember(5, implode('-', [$record->getTable(), $namespace, $group, $item]))->first();
 }