我想在yii2框架上使用多個數據庫連接。在config文件夾裏面我db.php中的文件,我有這樣的一段代碼:yii2上的多個數據庫連接
return [
'class' => 'yii\db\Connection',
'components' => [
'db1' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=new',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
],
'db2' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=old',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
],
],
];
在我的test.php的模型文件夾下,我有這個下面......
namespace app\models;
use Yii;
use yii\base\Model;
use yii\db\Query;
class GetAds extends Model
{
public function ads()
{
$test = Yii::$app->db1->createCommand((new \yii\db\Query)->select('*')->from('members'))->queryAll();
}
時我嘗試訪問,我收到此錯誤消息「獲取未知的屬性:yii \ web \ Application :: db1」
如何解決此問題?我實際上遵循了這個指南Multiple database connections and Yii 2.0
我在哪裏做錯了?
最糟糕的是,我已經設置只使用一個數據庫...和我的模型,我用這個代碼..
namespace app\models;
use Yii;
use yii\base\Model;
use yii\db\ActiveRecord;
use yii\db\Query;
class GetAds extends ActiveRecord
{
public static function tableName()
{
return 'ads_page';
}
public static function ads()
{
$count=(new \yii\db\Query)->from('ads_page')->count('*');
}
}
而且我得到這個錯誤
Database Exception – yii\db\Exception
could not find driver
↵
Caused by: PDOException
could not find driver
爲什麼要用yii2這麼辛苦?我已經遵循所有從這裏http://www.yiiframework.com/doc-2.0/guide-db-dao.html
請幫助
在我看來,這有沒有關係的Yii在所有...「找不到驅動程序」看起來更像是一個「PDO」錯誤。你確定所有相關的php模塊都已安裝嗎?單靠PDO是不夠的,它需要'mysqlnd'以及iirc – Blizz
@Blizz,謝謝你的提示,我已經使用WAMP在PHP設置下啓用了pdo_mysql ....這解決了PDO問題。 – nodeffect
你合併你的數據庫配置與其他配置數組? – Tony