采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问tp6是否取消了动态链接数据库? tp5是可以的 提示错误:
回复 stevenfung:TP6没有取消动态链接,只是使用方法变了,需要事先定义链接的参数在database.php的配置文件中,使用时只传connections里的key
$connection属性只接收database.php文件中connections里所定义的链接,是字符串,而不是整个数组,
因为vendor/topthink/think-orm/src/DbManager.php中的connect方法如下,第一个参数是接收字符串或null,配置的标识,而不是整个配置参数,如果为null会找到默认的标识
所以要使用动态链接最好事先在database.php定义好,不然只能Config::set动态修改database.php的配置内容
/**
* 创建/切换数据库连接查询
* @access public
* @param string|null $name 连接配置标识
* @param bool $force 强制重新连接
* @return ConnectionInterface
*/
public
function
connect(string
$name
= null, bool
$force
= false)
{
return
$this
->instance(
,
);
}
下面是tp5.1的链接方法,接收的是整个配置参数,而不是标识
* 连接数据库方法
* @param array $config 连接参数
* @param integer $linkNum 连接序号
* @param array|bool $autoConnection 是否自动连接主数据库(用于分布式)
* @return PDO
* @throws Exception
connect(
array
$config
= [],
$linkNum
= 0,
$autoConnection
= false){
...
Config::set(
'database'
$db_instance
= Db::connect(
'mysql'
同学你可以试一下这种方法
我只是想问 tp6是否取消了这种动态链接数据库的方式 我知道可以用其他方式!
回复无法贴代码块,我新开了一个回复
登录后可查看更多问答,登录/注册
一课就能掌握TP6.0基础及运用,打造完整高并发的电商后端项目
1.9k 19
1.5k 19
4.8k 16
1.7k 16
1.5k 16
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号