程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Yii ExtendedActiveRecord 增強版 ActiveRecord 增加多數據庫連接綁定功能,activerecord

Yii ExtendedActiveRecord 增強版 ActiveRecord 增加多數據庫連接綁定功能,activerecord

編輯:關於PHP編程

Yii ExtendedActiveRecord 增強版 ActiveRecord 增加多數據庫連接綁定功能,activerecord


ExtendedActiveRecord 繼承自 CActiveRecord,因此基礎功能與 CActiveRecord 無異

為添加對多數據庫連接的支持,增加了對 connectionName() 方法的回調,用法跟已有的 tableName() 方法一致,返回數據庫連接組件名稱的字符串。

如果不定義該方法,則使用默認數據庫連接(db)

源碼如下:

class ExtendedActiveRecord extends CActiveRecord
{
    public static $db = array();

    /**
     * @return CDbConnection
     * @throws CDbException
     */
    public function getDbConnection()
    {
        $componentName = $this->connectionName();
        if (isset(self::$db[$componentName])) {
            return self::$db[$componentName];
        } else {
            self::$db[$componentName] = Yii::app()->getComponent($componentName);
            if (self::$db[$componentName] instanceof CDbConnection)
                return self::$db[$componentName];
            else {
                $message = 'Active Record keyword requires a "' . $componentName . '" CDbConnection application component.';
                Yii::log($message, CLogger::LEVEL_ERROR, 'extended');
                throw new CDbException(Yii::t('yii', $message));
            }
        }
    }

    public function connectionName()
    {
        return 'db';
    }
}

 

實例:

class SomeModelClass extends ExtendedActiveRecord
{
    ......

    public function connectionName() {
        return 'some-db-connection';
    }

    ......
}

  

 


Ralis連接遠程數據庫,提示ActiveRecord::ConnectionNotEstablished ,本地pl/sql可以訪問遠程數據庫

你是局域網內可以遠程連接,廣域網使用外網ip不可以連接嗎?
路由器上要映射ip地址和數據庫端口
 

yii20怎與XAMPP的數據庫連接?

yii2.0 官方提供兩個模板
先說基本版:
只要修改 config/db.php
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'tablePrefix' => 'hpcms_',
];

其中dbname是指數據庫名、 host 是主機、 tablePrefix 是表前綴

高級版的也差不多,修改 common/config/main-local.php
配置參數和上述基本一致!

這樣就可以鏈接數據庫了(當然你得要啟動mysql才可以,如果是其他數據庫,請搜索一下,基本都是配置下參數即可)

對於如何操作數據庫(增刪改查)請看文檔ActiveRecord 以及Model (設計表結構後,可以用Gii快速生成Model)

想知道更多的話,看文檔最實際
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved