带有多个数据源的Cakephp模型


Cakephp model with several datasources

我有一个名为Forwards的模型,该模型使用数据库中的表。然而,连接到这个模型的一些视图需要使用我的costum数据源(这是我创建的一个数据源,它将它链接到API)。

现在我的问题是,如何将datasource添加到已经具有datasource的模型中。

我如何告诉Paginator在分页时必须使用这个数据源(这样它就不会确认)

更新

我一直在读abit,在一个模型中使用两个数据源的唯一方法似乎是破解abit,所以我想知道是否有可能在一个控制器中使用两种模型,同时仍然分页?

我想保留这些设置

public $paginate = array(
    'fields' => array(
        'Offer.id',
        'Offer.name',
        'OfferUrl.preview_url',
        'Stat.ltr',
        'Stat.cpc',
        'Category.name',
        'Country.name')
, 'conditions' => array('Stat.date' => array(
            'conditional' => 'BETWEEN'
        , 'values' => array()
        ),
    ),
    'group' => array('Stat.offer_id'),
    'Method' => 'getStats',
    'totals' => true,
    'limit' => 20
);

我在我的控制器中设置了这些

您可以通过调用Model::setDatasSource()来更改数据源。

您可以通过以下方式更改分页器使用的模型:

$this->Paginator->paginate($ModelInstance);

$this->Paginator->paginate('ModelName');

你可能想看看那一页。

不再使用Controller::分页,而是使用$this->Paginator->设置。对于每个型号的设置,请使用

$this->Paginator->settings['ModelName'] = array(/*...*/);