Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

继承Model后里边直接定义$connection 后报错 Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Undefined db type' in D:\wamp\vhosts\think.orm\vendor\topthink\think-orm\src\db\Connection.php on line 178 #15

Closed
webphper opened this issue Jan 2, 2018 · 3 comments

Comments

@webphper
Copy link

webphper commented Jan 2, 2018

use think\Model;

class BaseModel extends Model
{
protected $pk = 'user_id';
protected $table = 'f_users';
protected $connection = [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '172.3.0.74',
// 数据库名
'database' => 'f_houses',
// 用户名
'username' => 'f_houses',
// 密码
'password' => 'f_houses',
// 端口
'hostport' => '3306',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'f_',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型 array 数组 collection Collection对象
'resultset_type' => 'collection',
// 是否自动写入时间戳字段
'auto_timestamp' => false,
//自动时间格式转换
'datetime_format' => false,
// 是否需要进行SQL性能分析
'sql_explain' => false,
];

public function __construct($data = [])
{
    parent::__construct($data);
}

}
$db = new BaseModel();
$db->select();

@liu21st
Copy link
Member

liu21st commented Jan 2, 2018

这个应该是你没有设置默认数据库连接导致的

@webphper
Copy link
Author

webphper commented Jan 4, 2018

这个在类内部给 $connection 赋值 没有起效。如果在类前边调用了Db::setConfig()就能起效

@liu21st
Copy link
Member

liu21st commented Jan 4, 2018

不是没起效 是你没有设置默认数据库连接信息 SetConfig必须设置

@liu21st liu21st closed this as completed Jan 4, 2018
@ghost ghost mentioned this issue May 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants