首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有clist视图的Yii数据提供程序

具有clist视图的Yii数据提供程序
EN

Stack Overflow用户
提问于 2013-08-30 14:42:12
回答 2查看 437关注 0票数 0

我想在Yii应用程序中搜索多个模型。搜索结果显示在CList视图中。需要在列表视图中使用dataprovider。那么如何在Clist视图中使用多个数据提供程序呢?

EN

回答 2

Stack Overflow用户

发布于 2013-08-30 14:46:03

您不能使用多个数据提供程序,而应将结果合并到一个数据提供程序中。

票数 0
EN

Stack Overflow用户

发布于 2013-08-30 15:08:40

下面这样的代码可以让你入门:

代码语言:javascript
复制
public function actionSearch($q) {
    // Sanitize input
    $q = strtolower(strip_tags($q));
    $q = preg_replace('/[^a-z 0-9 _ \- \']/', '', $q);

    $model1 = Model1::model()->findAll('title LIKE "%'.$q.'%"');
    $model2 = Model2::model()->findAll('title LIKE "%'.$q.'%"');

    $rawData = array_merge($model1, $model2);
    $dataProvider = new CArrayDataProvider($rawData, array(
        'sort'=>array(
            'attributes'=>array(
                 'datePublished DESC', 'title',
            ),
        ),
        'pagination'=>array(
            'pageSize'=>10,
        ),
    ));

    $this->render('search', array(
        'dataProvider' => $dataProvider,
        'query' => $q,
    ));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18526546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档