Üç veritabanım var, her veritabanı aynı tablolarla aynı tabloya sahip, ancak Yii'de aynı anda tüm üç veritabanından tüm kayıtları nasıl alacağımı bilmiyorum.Yii çoklu veritabanı bağlantıları
cevap
1.We DB bağlantılarını sunucu ile başlayacaktır yardım edin. korumalı/config/Main.php açıp kılavuzunda açıklandığı gibi birincil bir bağlantı tanımlayın:
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=db1',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
2.Then kopyalamak, 'db2' için 'db' bileşeni adlandırmak ve buna göre bağlantı dizesini değiştirin. Ayrıca, aşağıdaki gibi sınıf adını eklemeniz gerekir: 3.Then kopyalamak
'db2'=>array(
'class'=>'CDbConnection',
'connectionString' => 'mysql:host=localhost;dbname=db2',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
, 'db3' ile 'db' bileşeni adlandırmak ve buna göre bağlantı dizesini değiştirin. Ayrıca, aşağıdaki gibi sınıf adını eklemeniz gerekir: bu
'db2'=>array(
'class'=>'CDbConnection',
'connectionString' => 'mysql:host=localhost;dbname=db2',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
4.That olduğunu. Şimdi, iki veritabanı bağlantıları var ve DAO ve sorgu oluşturucu ile kullanabilirsiniz şöyle:
$db1Rows = Yii::app()->db->createCommand($sql)->queryAll();
$db2Rows = Yii::app()->db2->createCommand($sql)->queryAll();
$db3Rows = Yii::app()->db2->createCommand($sql)->queryAll();
Teşekkürler Nanhe, ama aradığım şey değil, aynı anda tüm üç veritabanından sonuçları almak gerekir (bir sorgu/satır) , aynı zamanda –
Kendi işlev örneğini yazabilirsiniz getAllData() { $ sql = "SELECT * FROM table_name"; $ db1Rows = Yii :: app() -> db-> createCommand ($ sql) -> queryAll(); $ db2Rows = Yii :: app() -> db2-> createCommand ($ sql) -> queryAll(); $ db3Rows = Yii :: app() -> db2-> createCommand ($ sql) -> queryAll(); dönüş dizisi_merge ($ db1Rows, $ db2Rows, $ db3Rows); –
Sadece/Main.php
'db1'=>array(
'connectionString' => 'mysql:host=localhost;dbname=database1',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
'db2'=>array(
'connectionString' => 'mysql:host=localhost;dbname=database2',
'username' => 'root',
'password' => '',
'class'=>'CDbConnection', // DO NOT FORGET THIS!
),
yapılandırma için yeni veritabanı bağlantı eklemek ve şimdi bağlanabilirsiniz Bu gibi veritabanı:
Yii::app()->db1 ...
Yii::app()->db2 ...
onay bu öğenin açıklamaya:
http://www.yiiframework.com/wiki/123/multiple-database-support-in-yii/
ve bu:
http://www.yiiframework.com/wiki/78/multiple-databases-and-multiple-domains/
- 1. Çoklu veritabanı bağlantıları: schema_migrations yanlış veritabanında aranır
- 2. Veritabanı Bağlantıları ve F #
- 3. Pentaho Veri INTEGARTION veritabanı bağlantıları
- 4. Loopback Çoklu Veritabanı Veritabanı Değişimi
- 5. Yii 2: aynı tabloyla çoklu ilişki
- 6. Yii
- 7. Yii
- 8. Yii
- 9. Tek seferde çoklu veritabanı geçişi
- 10. Yii gridview
- 11. Doctrine 2 Master/Slave bağlantıları
- 12. Yii uygulamamın yii sürümünü nerede bulabilirim?
- 13. Linux ve Bluez kullanılarak Çoklu BLE Bağlantıları 5.0
- 14. Firebase Veritabanı - Çoklu Girişleri Geri Al
- 15. Yii çerçeve -
- 16. Esneklik Yii
- 17. Yii Framework
- 18. eşleme bağlantıları
- 19. Yii2 - Çoklu dil
- 20. Yii 2 bilinmeyen özelliği alınıyor: yii \ web \ Görünüm :: nitelik
- 21. Yii Boilerplate'i nasıl kurabilirim?
- 22. yii sınıfı yüklenmiyor
- 23. Bu eylemi Yii
- 24. Yii Pjax navbar
- 25. Yii 2 yükleme hatası
- 26. Yii, tek ilişki
- 27. Besteci ve Yii
- 28. Yii'de Dinamik Görünüm Yii
- 29. görünüm yii konsol uygulamasında
- 30. Yii CDbCriteria Katıl
Kullanım takma tabloları katılma işlemi. – Rikesh
Muhtemelen Yii core ATM'de desteklenmeyen [sharding] (http://www.codefutures.com/database-sharding/) 'i arıyorsunuz. –
Teşekkürler Michael, ben aradığım bir terim, ben db sharding –