diff --git a/Database/Base/BaseActiveRecord.php b/Database/Base/BaseActiveRecord.php index 16c79707..4f793b00 100644 --- a/Database/Base/BaseActiveRecord.php +++ b/Database/Base/BaseActiveRecord.php @@ -6,6 +6,7 @@ * Time: 14:39 */ declare(strict_types=1); + namespace Database\Base; @@ -664,7 +665,7 @@ abstract class BaseActiveRecord extends Component implements IOrm, \ArrayAccess } if (isset($this->_attributes[$name]) || array_key_exists($name, $this->_attributes)) { - return stripcslashes($this->_attributes[$name]); + return static::getColumns()->_decode($name, $this->_attributes[$name]); } if (isset($this->_relate[$name])) { diff --git a/Database/Mysql/Columns.php b/Database/Mysql/Columns.php index 7972e8d0..21c4cf2f 100644 --- a/Database/Mysql/Columns.php +++ b/Database/Mysql/Columns.php @@ -122,6 +122,19 @@ class Columns extends Component } } + + /** + * @param $name + * @param $value + * @return float|int|mixed|string + * @throws Exception + */ + public function _decode(string $name, $value) + { + return $this->decode($value, $this->get_fields($name)); + } + + /** * @param $val * @param $format