在代码中有设置数据库连接的时区,并创建了数据库连接:
$this->mysql_config = Config::get('database.connections.mysql');
$this->mysql_config['options'] = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET time_zone = '{$mysql_timezone}'",
);
......
......
$this->mysql_config['database'] = $this->db_name;
Config::set("database.connections.{$this->db_name}", $this->mysql_config);
......
......
DB::connection($this->db_name);
但是当使用如下代码执行sql时设置的时区并没有生效(使用了默认的mysql连接):
$result = DB::select(DB::raw($sql));
使用如下代码,则时区设置生效:
$result = DB::connection($this->db_name)->select(DB::raw($sql));
$this->mysql_config = Config::get('database.connections.mysql');
$this->mysql_config['options'] = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET time_zone = '{$mysql_timezone}'",
);
......
......
$this->mysql_config['database'] = $this->db_name;
Config::set("database.connections.{$this->db_name}", $this->mysql_config);
......
......
DB::connection($this->db_name);
但是当使用如下代码执行sql时设置的时区并没有生效(使用了默认的mysql连接):
$result = DB::select(DB::raw($sql));
使用如下代码,则时区设置生效:
$result = DB::connection($this->db_name)->select(DB::raw($sql));