Tôi đang cố sử dụng nhiều kết nối cơ sở dữ liệu trên khung yii2. Theo tập tin db.php của tôi bên trong thư mục cấu hình, tôi có đoạn mã này:Nhiều Cơ sở Dữ liệu Kết nối trên 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',
],
],
];
Trong test.php của tôi trong thư mục mô hình, tôi có điều này dưới đây ...
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();
}
khi Tôi cố gắng truy cập, tôi nhận được thông báo lỗi này "Bắt tài sản không xác định: yii \ web \ Application :: db1"
Làm cách nào để giải quyết vấn đề này? Tôi đã thực sự làm theo hướng dẫn này Multiple database connections and Yii 2.0
Tôi đã làm sai ở đâu?
Điều tồi tệ nhất là, tôi đã thiết lập để sử dụng chỉ là một cơ sở dữ liệu ... và trên mô hình của tôi, tôi sử dụng mã này ..
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('*');
}
}
Và tôi nhận được lỗi này
Database Exception – yii\db\Exception
could not find driver
↵
Caused by: PDOException
could not find driver
Tại sao sử dụng yii2 quá khó? Tôi đã làm theo tất cả từ đây http://www.yiiframework.com/doc-2.0/guide-db-dao.html
xin vui lòng giúp
Dường như với tôi này không có gì để làm với Yii gì cả ... "không thể tìm thấy tài xế" có vẻ giống lỗi 'PDO' hơn. Bạn có chắc chắn tất cả các mô-đun php có liên quan được cài đặt không? 'PDO' một mình là không đủ, nó cần' mysqlnd' cũng như iirc – Blizz
@Blizz, cảm ơn lời khuyên, tôi đã cho phép pdo_mysql trong PHP bằng cách sử dụng WAMP .... Điều đó giải quyết vấn đề PDO. – nodeffect
bạn có hợp nhất cấu hình db của mình với các mảng cấu hình khác không? – Tony