2012-03-23 57 views
0

我有兩個數據庫用戶和magento。 magento駐留在LAN中的遠程機器上。 和用戶駐留在我的本地計算機上。如何分頁來自cakephp中不同數據庫表的數據?

他們之間的連接和從該magento數據庫提取數據工作正常 但我想分頁magento的表數據。 簡單顯示它已完成,但對於分頁我們需要模型名稱,以及如何可以有其他數據庫的模型?

  // in controller action 
      $this->Vendor->changeDataSource('vsdatabase'); 
      if($this->changeDbSource('vsdatabase')) 
      { 
       $magento_data = $this->Vendor->query("SELECT * from admin_user"); 
       $this->set('products',$magento_data); 
      } 

      and changeDataSource($newdb) is defined in model file 
     and changeDbSource($database='default') in controller 

那麼我該如何解決我的分頁問題? 我已經完成了沒有分頁的數據提取。 或任何其他選項來做到這一點? 謝謝,

回答

1

你要對這個錯誤的方式..

您應該創建一個新的數據庫配置外部數據庫,把它說.. $vendor_dbapp/config/database.php

http://book.cakephp.org/1.3/en/view/922/Database-Configuration

然後你需要一個新的連接模型。告訴模型$useDBConfig使用什麼數據庫連接:

class Vendor extends AppModel { 
    var $useDbConfig = 'vendor_db'; 
} 

http://book.cakephp.org/1.3/en/view/1058/useDbConfig

這樣,在你的供應商控制器,你可以調用數據庫使用標準CakePHP的功能,包括PAGINATE。

$this->paginate('Vendor')

CakePHP的模型函數應該總是妨礙你寫你自己的查詢。一般來說,如果你認爲你必須寫一個查詢,你可能做錯了。

相關問題