【问题标题】:Yii CActiveDataProvider returns wrong dataYii CActiveDataProvider 返回错误数据
【发布时间】:2014-03-20 12:02:48
【问题描述】:

我正在使用具有一对多关系的 2 个表:活动和组

此代码仅返回组中的相关广告系列。

 $models = Campaigns::model()->with(array(
                    'Campgroupassoc' => array('condition' => "groupid=$id"),
                ))->findAll();

这段代码:

 $dataProvider = new CActiveDataProvider('Campaigns', array(
            'criteria' => array(
                'with' => array(
                    'Campgroupassoc' => array(
                        'condition' => "groupid=$id"
                    )
                ),
            )
        ));

返回不属于同一组的广告系列..

我做错了什么? 谢谢

【问题讨论】:

    标签: php yii pdo dataprovider yii-components


    【解决方案1】:
    'Campgroupassoc' => array(
                        'condition' => "groupid=:id",
                        'params'=>array(':id'=>$id)
                    )
    

    另外最好指定groupid 属于哪个模型。当然,您可以查看 SQL 数据提供程序正在生成什么并对其进行分析。

    【讨论】:

      【解决方案2】:

      编辑-----

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

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

      'together' => TRUE
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-07
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多