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' => '', );
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; }
Ü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)!