cakephp ruft Datentabellen in verschiedenen Datenbanken auf

黄舟
Freigeben: 2023-03-03 16:16:02
Original
1244 Leute haben es durchsucht

Ich bin auf dieses Problem gestoßen, als ich das Cakephp-Framework zum Erstellen eines Projekts verwendet habe: Ich muss eine neue Datenbank erstellen und dann das Projekt mit der Tabelle in der neu erstellten Bibliothek verknüpfen. Verwenden Sie LoadModel('testQuestion'); this->testQuestion-> ;useDbConfig = 'testBase'; Es sollte kein Problem mit dieser Logik geben, aber die Standardbibliothek in der Datenbankkonfiguration ist wss, und diese Tabelle ist in dieser Bibliothek nicht vorhanden PHP-Code

Dann wird bei der Anzeige der Seite ein 404-Fehler gemeldet. Schließlich habe ich eine Lösung wie folgt gefunden:
class DATABASE_CONFIG {   
  
    var $default = array(   
        'driver' => 'mysql',   
        'persistent' => false,   
        'host' => '192.168.9.10',   
        'login' => 'root',   
        'password' => '123456',   
        'database' => 'wss',   
        'encoding' => 'utf8',   
        'prefix' => '',   
    );   
        var $testBase = array(   
        'driver' => 'mysql',   
        'persistent' => false,   
        'host' => '192.168.9.10',   
        'login' => 'root',   
        'password' => '123456',   
        'database' => 'wss_test',   
        'encoding' => 'utf8',   
        'prefix' => '',   
    );  
class DATABASE_CONFIG {

	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => '192.168.9.10',
		'login' => 'root',
		'password' => '123456',
		'database' => 'wss',
		'encoding' => 'utf8',
		'prefix' => '',
	);
        var $testBase = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => '192.168.9.10',
		'login' => 'root',
		'password' => '123456',
		'database' => 'wss_test',
		'encoding' => 'utf8',
		'prefix' => '',
	);
Nach dem Login kopieren

PHP-Code

besteht darin, eine Modelldatei mit dem Namen der Tabelle in der wss_test-Bibliothek im Modellordner zu erstellen und dann Just anzugeben Verwenden Sie die gewünschte Bibliothek.
/*  
 * testBase库中model  
 *   
 */  
class TestQuestion extends AppModel{   
    public $name = 'PreschoolTestQuestion';   
    var $useDbConfig = 'testBase';   
    var $useTable = false;   
}  
/*
 * testBase库中model
 * 
 */
class TestQuestion extends AppModel{
	public $name = 'PreschoolTestQuestion';
	var $useDbConfig = 'testBase';
	var $useTable = false;
}
Nach dem Login kopieren

Übrigens: Wenn diese Tabelle in der Standardbibliothek vorhanden ist, muss keine Modelldateibeschreibung erstellt werden. In der Master-Slave-Bibliothek können Sie beispielsweise LoadModel('testQuestion'); und dann $this->testQuestion->useDbConfig = 'testBase';

verwenden. Das Obige ist der Inhalt von cakephp Aufrufen von Datentabellen in verschiedenen Datenbanken. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!