thinkphp mongo模型資料庫配置

來源:互聯網
上載者:User

標籤: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模型資料庫配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.