cakephp 프레임워크를 사용하여 프로젝트를 만들 때 이 문제가 발생했습니다. 새 데이터베이스를 만든 다음 새로 생성된 라이브러리의 테이블과 프로젝트를 연결해야 하며, 그런 다음 $를 사용합니다. 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; }
는 모델 폴더 하위 wss_test 라이브러리에 테이블 이름을 딴 모델 파일을 생성한 후 Just를 표시하는 것입니다. 원하는 라이브러리를 사용하십시오.
그런데: 기본 라이브러리에 이 테이블이 있으면 모델 파일 설명을 만들 필요가 없습니다. 예를 들어, master-slave 라이브러리에서는 loadModel('testQuestion');을 사용한 다음 $this->testQuestion->useDbConfig = 'testBase';
위 내용은 cakephp의 내용입니다. 다른 데이터베이스의 데이터 테이블 호출, 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!