【发布时间】:2015-08-07 20:25:45
【问题描述】:
我正在尝试在 yii2 框架上使用多个数据库连接。在 config 文件夹内的 db.php 文件下,我有这段代码:
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',
],
],
];
在我的models文件夹下的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();
}
当我尝试访问时,我收到此错误消息“Getting unknown property: 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是不够的,还需要mysqlndiirc -
@Blizz,感谢您的提示,我已经使用 WAMP 在 PHP 设置下启用了 pdo_mysql .... 这解决了 PDO 问题。
-
您是否将您的数据库配置与其他配置数组合并?
标签: php database yii2 multiple-databases