如何对来自不同数据库的数据进行分页';是cakephp中的表吗?
我有两个数据库用户和magento。 magento位于LAN中的远程计算机上。 并且用户驻留在我的本地计算机上 它们之间的连接和从magento数据库获取数据的工作正常 但我想对magento的表数据进行分页。 简单的显示已经完成,但对于分页,我们需要模型名,我怎么能有其他数据库的模型如何对来自不同数据库的数据进行分页';是cakephp中的表吗?,cakephp,pagination,multiple-databases,Cakephp,Pagination,Multiple Databases,我有两个数据库用户和magento。 magento位于LAN中的远程计算机上。 并且用户驻留在我的本地计算机上 它们之间的连接和从magento数据库获取数据的工作正常 但我想对magento的表数据进行分页。 简单的显示已经完成,但对于分页,我们需要模型名,我怎么能有其他数据库的模型 // in controller action $this->Vendor->changeDataSource('vsdatabase');
// 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
那么如何解决分页的问题呢?
我已经完成了不分页的数据获取。
或者有其他选择吗?
谢谢,你走错了路 您应该为外部数据库创建一个新的数据库配置,称之为say<在
app/config/database.php
然后你需要一个新连接的模型。告诉模型要与$useDBConfig
一起使用的数据库连接:
class Vendor extends AppModel {
var $useDbConfig = 'vendor_db';
}
这样,在您的供应商控制器中,您可以使用标准的cakePHP函数(包括paginate)进行数据库调用
$this->paginate('Vendor')
cakePHP模型函数几乎总是阻止您编写自己的查询。一般来说,如果您认为必须编写查询,则可能是做错了什么