cakephp フレームワークを使用してプロジェクトを作成するときに、この問題が発生しました。新しいデータベースを作成し、このプロジェクトを新しく作成したライブラリ内のテーブルにリンクし、loadModel('testQuestion') を使用してから $this-; を使用する必要があります。 >testQuestion->useDbConfig = 'testBase'; このロジックには問題はないはずですが、データベース構成のデフォルトのライブラリは wss であり、このライブラリにはそのようなテーブルがありません
Php コード
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' => '', );
ページが正しく表示されない場合は 404 が報告されます。最後に、次のような解決策を見つけました:
Php コード
/* * 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; }
models フォルダーの下の wss_test ライブラリにテーブル名にちなんだ名前のモデル ファイルを作成し、使用するライブラリを指定するだけです。
ちなみに: デフォルトのライブラリにこのテーブルがあれば、モデルファイルの記述を作成する必要はありません。たとえば、マスター/スレーブ ライブラリでは、loadModel('testQuestion'); を使用してから $this->testQuestion->useDbConfig = 'testBase';
上記は、cakephp がデータ テーブルを呼び出す内容です。さまざまなデータベース、より関連性の高い PHP 中国語 Web サイト (www.php.cn) のコンテンツにご注意ください。