首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii CActiveDataProvider返回错误数据

Yii CActiveDataProvider返回错误数据
EN

Stack Overflow用户
提问于 2014-03-20 20:02:48
回答 2查看 90关注 0票数 0

我使用了两个具有一对多关系的表: campaign和group

此代码仅返回组中的相关活动。

代码语言:javascript
复制
 $models = Campaigns::model()->with(array(
                    'Campgroupassoc' => array('condition' => "groupid=$id"),
                ))->findAll();

而这段代码:

代码语言:javascript
复制
 $dataProvider = new CActiveDataProvider('Campaigns', array(
            'criteria' => array(
                'with' => array(
                    'Campgroupassoc' => array(
                        'condition' => "groupid=$id"
                    )
                ),
            )
        ));

返回不在同一组中的活动。

我做错了什么?Thx

EN

回答 2

Stack Overflow用户

发布于 2014-03-20 20:41:27

代码语言:javascript
复制
'Campgroupassoc' => array(
                    'condition' => "groupid=:id",
                    'params'=>array(':id'=>$id)
                )

此外,最好指定groupid所属的模型。当然,您可以查看SQL数据提供程序正在生成的内容并对其进行分析。

票数 0
EN

Stack Overflow用户

发布于 2014-03-20 21:05:06

编辑

在咨询了Yii的实时聊天后,我发现即使使用eager,它也会导致2次查询而不是1次...

为了解决这个问题,你需要添加:

代码语言:javascript
复制
'together' => TRUE
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22532398

复制
相关文章

相似问题

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