Files
webman-buildadmin/app/common/model/traits/TimestampInteger.php
2026-03-18 17:15:01 +08:00

26 lines
772 B
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
declare(strict_types=1);
namespace app\common\model\traits;
/**
* 时间戳整型字段修复
*
* ThinkORM 对 MySQL bigint 类型识别为 'bigint',自动时间戳会错误地写入 'now' 字符串,
* 导致 SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'now' for column 'update_time'
*
* 通过显式指定 create_time、update_time 等为 integer 类型,使 ThinkORM 使用 time() 写入正确的时间戳。
*/
trait TimestampInteger
{
/**
* 字段类型映射:将 bigint 时间戳字段显式声明为 integer避免 ThinkORM 写入 'now' 字符串
*/
protected array $type = [
'create_time' => 'integer',
'update_time' => 'integer',
'last_login_time' => 'integer',
];
}