>  기사  >  백엔드 개발  >  cakephp는 다른 데이터베이스의 데이터 테이블을 호출합니다.

cakephp는 다른 데이터베이스의 데이터 테이블을 호출합니다.

黄舟
黄舟원래의
2016-12-20 09:25:231212검색

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)를 참고하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.