码迷,mamicode.com
首页 > 数据库 > 详细

thinkphp mongo模型数据库配置

时间:2014-09-26 19:30:38      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:io   os   使用   ar   文件   数据   sp   cti   on   

今天尝试使用thinkphp中的mongo模型,发现总是会报错

Call to a member function selectCollection() on a non-object

找了一下原因,发现是配置文件未导入,导致无法连接数据库和实例化模型。看了一下配置文件,并没有任何错误,配置文件如下

return array(
//‘配置项‘=>‘配置值‘
‘DB_CONFIG‘ => array(‘DB_TYPE‘ => ‘mongo‘,
‘DB_HOST‘ => ‘localhost‘,
‘DB_NAME‘ => ‘mydb‘,
‘DB_USER‘ => ‘‘,
‘DB_PWD‘ => ‘‘,
‘DB_PORT‘ => ‘27017‘,
‘DB_PREFIX‘ => ‘‘,
‘DB_CHARSET‘=> ‘utf8‘
)
);

model中:

protected $connection = ‘DB_CONFIG‘;

于是改用另外一种写法,model中直接定义,发现居然成功了

protected $connection = array(‘DB_TYPE‘ => ‘mongo‘,
‘DB_HOST‘ => ‘localhost‘,
‘DB_NAME‘ => ‘mydb‘,
‘DB_USER‘ => ‘‘,
‘DB_PWD‘ => ‘‘,
‘DB_PORT‘ => 27017,
‘DB_PREFIX‘ => ‘‘,
‘DB_CHARSET‘=> ‘utf8‘
);

继续尝试将配置文件改为:

return array(
//‘配置项‘=>‘配置值‘
‘DB_TYPE‘ => ‘mongo‘,
‘DB_HOST‘ => ‘localhost‘,
‘DB_NAME‘ => ‘mydb‘,
‘DB_USER‘ => ‘‘,
‘DB_PWD‘ => ‘‘,
‘DB_PORT‘ => ‘27017‘,
‘DB_PREFIX‘ => ‘‘,
‘DB_CHARSET‘=> ‘utf8‘
);

删除了DB_CONFIG的定义,直接返回,发现也可以成功连接。

不清楚是不是对mongo模型,tp不支持第一种配置方法,但是文档中确实是有这种配置方法的,而且对mysql也是可以正常使用的

thinkphp mongo模型数据库配置

标签:io   os   使用   ar   文件   数据   sp   cti   on   

原文地址:http://www.cnblogs.com/lchecho/p/3994844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!