由於某些原因,當我調用模型時,除了默認值外,不能使用其他數據庫配置名稱。Ko3:使用模型參數更改數據庫配置
$carrier = new Model_Carrier('as400');
這只是又回到了「默認」的配置。即使我重命名或刪除默認配置,它仍然會嘗試去它。我在我的database.php文件中有一個「as400」配置。如果我將其設爲as400作爲我的默認值,那麼它可以工作,但我需要其他模型才能使用MySQL的默認值。 as400不是mysql。這是我寫的一個ODBC驅動程序。
由於某些原因,當我調用模型時,除了默認值外,不能使用其他數據庫配置名稱。Ko3:使用模型參數更改數據庫配置
$carrier = new Model_Carrier('as400');
這只是又回到了「默認」的配置。即使我重命名或刪除默認配置,它仍然會嘗試去它。我在我的database.php文件中有一個「as400」配置。如果我將其設爲as400作爲我的默認值,那麼它可以工作,但我需要其他模型才能使用MySQL的默認值。 as400不是mysql。這是我寫的一個ODBC驅動程序。
當我運行查詢,我不得不請將數據庫配置名稱放在execute參數中。我不明白爲什麼它不會通過我已經在查詢中定義的數據庫。
$result = DB::query(Database::SELECT, $sql)
->param(':search', strtoupper($search).'%')
->as_object()
->execute($this->_db);
對於每個模型,您可以定義數據庫配置ORM將在運行查詢。如果您在模型中重寫$ _db變量,則ORM將連接到該數據庫。
在你的情況,你的模型,你可以有這樣的:
protected $_db = 'as400';
編輯 嘗試使用這個:
$carrier = Model::factory('carrier', 'as400');
對於仍在從ORM模型中查看此問題的人,對於diferente DB配置變量及其$ _db_group
所以,你將不得不
$_db_group = 'as400';
我不使用ORM。我正在擴展模型,但理論上應該仍然有效。我把保護$ _db ='as400';在我的模型,但它仍然會默認 – mikelbring 2011-01-28 17:29:06