首頁  >  文章  >  後端開發  >  cakephp 呼叫不同資料庫中的資料表

cakephp 呼叫不同資料庫中的資料表

黄舟
黄舟原創
2016-12-20 09:25:231212瀏覽

在用框架cakephp做專案時遇到這樣的問題:需要新建一個資料庫,然後此專案與新建的庫中的表鏈接,用loadModel('testQuestion');然後$this->testQuestion->useDbConfig = ' testBase';這樣的邏輯應該是沒有問題的,但是在database配置中預設的函式庫是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庫中的該表名為名的model文件,然後註明使用哪個庫就好了。

順便說一下:如預設的庫中有這個表的話可以不用建model檔說明。如在主從函式庫中可以如此使loadModel('testQuestion');然後$this->testQuestion->useDbConfig = 'testBase';

 以上就是cakephp 呼叫不同資料庫中的資料表 的內容,而更多相關內容請關注PHP中文網(www.php.cn)! 


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn