. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 Tony Murray * @author Tony Murray */ namespace App\Models; class Config extends BaseModel { public $timestamps = false; protected $table = 'config'; public $primaryKey = 'config_name'; public $incrementing = false; protected $fillable = [ 'config_name', 'config_value', 'config_default', 'config_descr', 'config_group', 'config_sub_group', ]; protected $attributes = [ 'config_default' => '', 'config_descr' => '', 'config_group' => '', 'config_sub_group' => '', ]; /** * Get the config_value (type cast) * * @param string $value * @return mixed */ public function getConfigValueAttribute($value) { if (filter_var($value, FILTER_VALIDATE_INT)) { return (int)$value; } elseif (filter_var($value, FILTER_VALIDATE_FLOAT)) { return (float)$value; } elseif (filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) !== null) { return filter_var($value, FILTER_VALIDATE_BOOLEAN); } return $value; } public function setConfigValueAttribute($value) { if (is_bool($value)) { $this->attributes['config_value'] = $value ? 'true' : 'false'; } else { $this->attributes['config_value'] = $value; } } }