修正Model类

This commit is contained in:
thinkphp
2016-04-23 12:43:26 +08:00
parent 2fb064cb37
commit c3804ffcb3

View File

@@ -55,7 +55,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
protected $update = []; protected $update = [];
// 自动写入的时间戳字段列表 // 自动写入的时间戳字段列表
protected $autoTimeField = ['create_time', 'update_time', 'delete_time']; protected $autoTimeField = ['create_time', 'update_time', 'delete_time'];
// 时间字段取出后的时间格式 // 时间字段取出后的默认时间格式
protected $dateFormat = 'Y-m-d H:i:s'; protected $dateFormat = 'Y-m-d H:i:s';
// 字段类型或者格式转换 // 字段类型或者格式转换
@@ -840,7 +840,9 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
} elseif (isset($this->type[$name])) { } elseif (isset($this->type[$name])) {
// 类型转换 // 类型转换
$type = $this->type[$name]; $type = $this->type[$name];
list($type, $param) = explode(':', $type); if (strpos($type, ':')) {
list($type, $param) = explode(':', $type, 2);
}
switch ($type) { switch ($type) {
case 'integer': case 'integer':
$value = (int) $value; $value = (int) $value;
@@ -898,7 +900,9 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
} elseif (!is_null($value) && isset($this->type[$name])) { } elseif (!is_null($value) && isset($this->type[$name])) {
// 类型转换 // 类型转换
$type = $this->type[$name]; $type = $this->type[$name];
list($type, $param) = explode(':', $type); if (strpos($type, ':')) {
list($type, $param) = explode(':', $type, 2);
}
switch ($type) { switch ($type) {
case 'integer': case 'integer':
$value = (int) $value; $value = (int) $value;
@@ -914,7 +918,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$value = (bool) $value; $value = (bool) $value;
break; break;
case 'datetime': case 'datetime':
$format = $param ?: $this->dateFormat; $format = !empty($param) ? $param : $this->dateFormat;
$value = date($format, $value); $value = date($format, $value);
break; break;
case 'json': case 'json':