mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-07 23:22:48 +08:00
增加 database.auto_timestamp 配置参数用于配置是否需要自动写入时间戳字段
This commit is contained in:
@@ -173,35 +173,39 @@ return [
|
|||||||
|
|
||||||
'database' => [
|
'database' => [
|
||||||
// 数据库类型
|
// 数据库类型
|
||||||
'type' => 'mysql',
|
'type' => 'mysql',
|
||||||
// 数据库连接DSN配置
|
// 数据库连接DSN配置
|
||||||
'dsn' => '',
|
'dsn' => '',
|
||||||
// 服务器地址
|
// 服务器地址
|
||||||
'hostname' => 'localhost',
|
'hostname' => 'localhost',
|
||||||
// 数据库名
|
// 数据库名
|
||||||
'database' => '',
|
'database' => '',
|
||||||
// 数据库用户名
|
// 数据库用户名
|
||||||
'username' => 'root',
|
'username' => 'root',
|
||||||
// 数据库密码
|
// 数据库密码
|
||||||
'password' => '',
|
'password' => '',
|
||||||
// 数据库连接端口
|
// 数据库连接端口
|
||||||
'hostport' => '',
|
'hostport' => '',
|
||||||
// 数据库连接参数
|
// 数据库连接参数
|
||||||
'params' => [],
|
'params' => [],
|
||||||
// 数据库编码默认采用utf8
|
// 数据库编码默认采用utf8
|
||||||
'charset' => 'utf8',
|
'charset' => 'utf8',
|
||||||
// 数据库表前缀
|
// 数据库表前缀
|
||||||
'prefix' => '',
|
'prefix' => '',
|
||||||
// 数据库调试模式
|
// 数据库调试模式
|
||||||
'debug' => false,
|
'debug' => false,
|
||||||
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
|
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
|
||||||
'deploy' => 0,
|
'deploy' => 0,
|
||||||
// 数据库读写是否分离 主从式有效
|
// 数据库读写是否分离 主从式有效
|
||||||
'rw_separate' => false,
|
'rw_separate' => false,
|
||||||
// 读写分离后 主服务器数量
|
// 读写分离后 主服务器数量
|
||||||
'master_num' => 1,
|
'master_num' => 1,
|
||||||
// 指定从服务器序号
|
// 指定从服务器序号
|
||||||
'slave_no' => '',
|
'slave_no' => '',
|
||||||
|
// 是否严格检查字段是否存在
|
||||||
|
'fields_strict' => true,
|
||||||
|
// 自动写入时间戳字段
|
||||||
|
'auto_timestamp' => false,
|
||||||
],
|
],
|
||||||
//分页配置
|
//分页配置
|
||||||
'paginate' => [
|
'paginate' => [
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
|||||||
// 更新自动完成列表
|
// 更新自动完成列表
|
||||||
protected $update = [];
|
protected $update = [];
|
||||||
// 是否需要自动写入时间戳
|
// 是否需要自动写入时间戳
|
||||||
protected $autoWriteTimestamp = true;
|
protected $autoWriteTimestamp;
|
||||||
// 创建时间字段
|
// 创建时间字段
|
||||||
protected $createTime = 'create_time';
|
protected $createTime = 'create_time';
|
||||||
// 更新时间字段
|
// 更新时间字段
|
||||||
@@ -111,6 +111,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
|
|||||||
$this->name = basename(str_replace('\\', '/', $this->class));
|
$this->name = basename(str_replace('\\', '/', $this->class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_null($this->autoWriteTimestamp)) {
|
||||||
|
$this->autoWriteTimestamp = $this->getConfig('auto_timestamp');
|
||||||
|
}
|
||||||
|
|
||||||
// 执行初始化操作
|
// 执行初始化操作
|
||||||
$this->initialize();
|
$this->initialize();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,6 +99,8 @@ abstract class Connection
|
|||||||
'fields_strict' => true,
|
'fields_strict' => true,
|
||||||
// 数据集返回类型
|
// 数据集返回类型
|
||||||
'resultset_type' => Db::RESULTSET_ARRAY,
|
'resultset_type' => Db::RESULTSET_ARRAY,
|
||||||
|
// 自动写入时间戳字段
|
||||||
|
'auto_timestamp' => false,
|
||||||
];
|
];
|
||||||
|
|
||||||
// PDO连接参数
|
// PDO连接参数
|
||||||
@@ -212,9 +214,9 @@ abstract class Connection
|
|||||||
* @param string $config 配置名称
|
* @param string $config 配置名称
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function getConfig($config)
|
public function getConfig($config = '')
|
||||||
{
|
{
|
||||||
return $this->config[$config];
|
return $config ? $this->config[$config] : $this->config;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ class Query
|
|||||||
{
|
{
|
||||||
if ($name || empty($this->table)) {
|
if ($name || empty($this->table)) {
|
||||||
$name = $name ?: $this->name;
|
$name = $name ?: $this->name;
|
||||||
$tableName = $this->connection->getConfig('prefix');
|
$tableName = $this->getConfig('prefix');
|
||||||
if ($name) {
|
if ($name) {
|
||||||
$tableName .= Loader::parseName($name);
|
$tableName .= Loader::parseName($name);
|
||||||
}
|
}
|
||||||
@@ -245,6 +245,17 @@ class Query
|
|||||||
return $this->connection->batchQuery($sql);
|
return $this->connection->batchQuery($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取数据库的配置参数
|
||||||
|
* @access public
|
||||||
|
* @param string $name 参数名称
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function getConfig($name = '')
|
||||||
|
{
|
||||||
|
return $this->connection->getConfig($name);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前的builder实例对象
|
* 获取当前的builder实例对象
|
||||||
* @access protected
|
* @access protected
|
||||||
@@ -532,7 +543,7 @@ class Query
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$prefix = $this->connection->getConfig('prefix');
|
$prefix = $this->getConfig('prefix');
|
||||||
// 传入的表名为数组
|
// 传入的表名为数组
|
||||||
if (is_array($join)) {
|
if (is_array($join)) {
|
||||||
if (0 !== $key = key($join)) {
|
if (0 !== $key = key($join)) {
|
||||||
@@ -1788,7 +1799,7 @@ class Query
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($options['strict'])) {
|
if (!isset($options['strict'])) {
|
||||||
$options['strict'] = $this->connection->getConfig('fields_strict');
|
$options['strict'] = $this->getConfig('fields_strict');
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (['master', 'lock', 'fetch_class', 'fetch_sql', 'distinct'] as $name) {
|
foreach (['master', 'lock', 'fetch_class', 'fetch_sql', 'distinct'] as $name) {
|
||||||
|
|||||||
Reference in New Issue
Block a user