/** * @param \MORM\Entity $entity * @param \MORM\QueryLogic $ql * * @return \MORM\Entity */ public function setType(\MORM\Entity $entity, \MORM\QueryLogic $ql) { $datatype = $this->getDataType(); if (!empty($datatype)) { foreach ($datatype as $key => $value) { $data = $entity->get($key); switch ($value) { case self::INTEGER: $data = (int) $data; break; case self::FLOAT: $data = (double) $data; break; case self::STRING: $data = (string) $data; break; case self::ARRAY: $unserialize = []; if ($unserialize = @unserialize($data)) { $data = $unserialize; } break; case self::JSON_ARRAY: $jsonDecode = []; if ($jsonDecode = @json_decode($jsonDecode)) { $data = $jsonDecode; } break; case self::DATE: $data = \DateTime::createFromFormat('Y-m-d', $data); break; case self::DATETIME: $data = \DateTime::createFromFormat('Y-m-d H:i:s', $data); break; } $entity->set($key, $data, $ql); } } return $entity; }