mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-01 12:42:48 +08:00
模型的时间戳自动写入支持timestamp类型字段
This commit is contained in:
@@ -916,7 +916,23 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
||||
{
|
||||
if (is_null($value) && in_array($name, $this->autoTimeField)) {
|
||||
// 自动写入的时间戳字段
|
||||
$value = NOW_TIME;
|
||||
if (isset($this->type[$name])) {
|
||||
$type = $this->type[$name];
|
||||
if (strpos($type, ':')) {
|
||||
list($type, $param) = explode(':', $type, 2);
|
||||
}
|
||||
switch ($type) {
|
||||
case 'timestamp':
|
||||
$format = !empty($param) ? $param : $this->dateFormat;
|
||||
$value = date($format, NOW_TIME);
|
||||
break;
|
||||
case 'datetime':
|
||||
$value = NOW_TIME;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
$value = NOW_TIME;
|
||||
}
|
||||
} else {
|
||||
// 检测修改器
|
||||
$method = 'set' . Loader::parseName($name, 1) . 'Attr';
|
||||
@@ -947,6 +963,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
||||
$value = strtotime($value);
|
||||
}
|
||||
break;
|
||||
case 'timestamp':
|
||||
$format = !empty($param) ? $param : $this->dateFormat;
|
||||
$value = date($format, is_numeric($valiue) ? $value : strtotime($value));
|
||||
break;
|
||||
case 'object':
|
||||
if (is_object($value)) {
|
||||
$value = json_encode($value, JSON_FORCE_OBJECT);
|
||||
@@ -1008,6 +1028,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
||||
$format = !empty($param) ? $param : $this->dateFormat;
|
||||
$value = date($format, $value);
|
||||
break;
|
||||
case 'timestamp':
|
||||
$format = !empty($param) ? $param : $this->dateFormat;
|
||||
$value = date($format, strtotime($value));
|
||||
break;
|
||||
case 'json':
|
||||
case 'array':
|
||||
$value = json_decode($value, true);
|
||||
|
||||
@@ -102,6 +102,7 @@ class Oracle extends Connection
|
||||
*/
|
||||
public function getFields($tableName)
|
||||
{
|
||||
$this->initConnect(true);
|
||||
list($tableName) = explode(' ', $tableName);
|
||||
$sql = "select a.column_name,data_type,DECODE (nullable, 'Y', 0, 1) notnull,data_default, DECODE (A .column_name,b.column_name,1,0) pk from all_tab_columns a,(select column_name from all_constraints c, all_cons_columns col where c.constraint_name = col.constraint_name and c.constraint_type = 'P' and c.table_name = '" . strtoupper($tableName) . "' ) b where table_name = '" . strtoupper($tableName) . "' and a.column_name = b.column_name (+)";
|
||||
$pdo = $this->linkID->query($sql);
|
||||
|
||||
@@ -43,6 +43,7 @@ class Pgsql extends Connection
|
||||
*/
|
||||
public function getFields($tableName)
|
||||
{
|
||||
$this->initConnect(true);
|
||||
list($tableName) = explode(' ', $tableName);
|
||||
$sql = 'select fields_name as "field",fields_type as "type",fields_not_null as "null",fields_key_name as "key",fields_default as "default",fields_default as "extra" from table_msg(' . $tableName . ');';
|
||||
$pdo = $this->linkID->query($sql);
|
||||
|
||||
@@ -40,6 +40,7 @@ class Sqlite extends Connection
|
||||
*/
|
||||
public function getFields($tableName)
|
||||
{
|
||||
$this->initConnect(true);
|
||||
list($tableName) = explode(' ', $tableName);
|
||||
$sql = 'PRAGMA table_info( ' . $tableName . ' )';
|
||||
$pdo = $this->linkID->query($sql);
|
||||
|
||||
@@ -50,6 +50,7 @@ class Sqlsrv extends Connection
|
||||
*/
|
||||
public function getFields($tableName)
|
||||
{
|
||||
$this->initConnect(true);
|
||||
list($tableName) = explode(' ', $tableName);
|
||||
$sql = "SELECT column_name, data_type, column_default, is_nullable
|
||||
FROM information_schema.tables AS t
|
||||
|
||||
Reference in New Issue
Block a user