没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
ThinkPHP3.1新特性 多数据库操作的完善
正常情况下,如果应用只是操作同一个数据库(或者分布式数据库)的话,你只需要在项目配置文件中定义数据库连接信息即可。这里说的多数据库操作一般指的是在一个应用中会操作不同的数据库(包括同类型的和不同类型的数据库),甚至包括动态切换多数据库的情况。
早期版本的ThinkPHP切换数据库需要使用高级模型,现在可以更加轻松的解决了。
新版对多数据的支持有下面几种方式,开发人员可以根据实际情况选择合适的方式操作:
模型定义数据库
如果只是简单的跨库操作,并且只是个别模型类的话,你可以直接在模型类中定义dbName属性即可:
protected $dbName = 'top';
实例化的时候,记得要使用D方法,例如:
$User = D('User');
这种方式定义的前提是当前数据库用户账户有操作top数据库的权限。
模型定义数据库连接
如果你的跨库操作需要使用不同的数据库连接账号或者需要连接不同类型的数据库,可以直接在模型类里面定义connection属性,在操作该模型类的时候,就会自动连接到指定的数据库。例如:
protected $connection = 'mysql://root:1234@localhost:3306/thinkphp';
或者使用数组方式定义:
protected $connection = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => 'localhost',
'db_port' => '3306',
'db_name' => 'thinkphp'
);
如果我们已经在配置文件中配置了额外的数据库连接信息,例如:
//数据库配置1
'DB_CONFIG1' = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => 'localhost',
'db_port' => '3306',
正常情况下,如果应用只是操作同一个数据库(或者分布式数据库)的话,你只需要在项目配置文件中定义数据库连接信息即可。这里说的多数据库操作一般指的是在一个应用中会操作不同的数据库(包括同类型的和不同类型的数据库),甚至包括动态切换多数据库的情况。
早期版本的ThinkPHP切换数据库需要使用高级模型,现在可以更加轻松的解决了。
新版对多数据的支持有下面几种方式,开发人员可以根据实际情况选择合适的方式操作:
模型定义数据库
如果只是简单的跨库操作,并且只是个别模型类的话,你可以直接在模型类中定义dbName属性即可:
protected $dbName = 'top';
实例化的时候,记得要使用D方法,例如:
$User = D('User');
这种方式定义的前提是当前数据库用户账户有操作top数据库的权限。
模型定义数据库连接
如果你的跨库操作需要使用不同的数据库连接账号或者需要连接不同类型的数据库,可以直接在模型类里面定义connection属性,在操作该模型类的时候,就会自动连接到指定的数据库。例如:
protected $connection = 'mysql://root:1234@localhost:3306/thinkphp';
或者使用数组方式定义:
protected $connection = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => 'localhost',
'db_port' => '3306',
'db_name' => 'thinkphp'
);
如果我们已经在配置文件中配置了额外的数据库连接信息,例如:
//数据库配置1
'DB_CONFIG1' = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => 'localhost',
'db_port' => '3306',
资源评论
r1991288116
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功