Cakephp模型有几个数据源

时间:2013-09-04 16:11:05

标签: php cakephp

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

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

我怎么能告诉Paginator它在分页时必须使用这个数据源(所以它不会混淆)

更新

我一直在阅读abit似乎在模型中使用两个数据源的唯一方法是Hack 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
);

我在控制器中设置了这些

1 个答案:

答案 0 :(得分:0)

您可以致电Model::setDatasSource()来更改数据来源。

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

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

或者

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

您可能需要read that page

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

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