【问题标题】:Subquery in criteria - translate mysql into yii CActiveDataProvider with same table条件中的子查询 - 将 mysql 转换为具有相同表的 yii CActiveDataProvider
【发布时间】:2014-01-22 17:28:25
【问题描述】:

这将如何转化为 yii CActiveDataProvider 结构?!

SELECT t1.*
FROM data t1
WHERE t1.date= (SELECT MAX(t2.date)
 FROM data t2
 WHERE t2.fromNumber = t1.fromNumber)

谢谢

【问题讨论】:

    标签: mysql yii


    【解决方案1】:

    试试这个代码:未经测试。请检查。

    希望您已为该表创建模型。将您的型号名称替换为 Model_name

    $dataProvider=new CActiveDataProvider('Model_name', array(
                'criteria'=>array(
                 'condition'=>'t.date = (SELECT MAX(t2.date)
                                         FROM data t2
                                         WHERE t2.fromNumber = t1.fromNumber)'
                           )
        )
        );
    

    这行得通:

            $dataProvider=new CActiveDataProvider('Data', array(
                'criteria'=>array(
                    'condition'=>'t.date = (SELECT MAX(t2.date)
                    FROM data t2
                    WHERE t2.fromNumber = t.fromNumber)'),
                ));
    

    【讨论】:

    • 不敢相信这么简单。谢谢!
    • 接受答案将帮助其他人找到更好的解决方案:-)
    • 我以为我在投票时已经接受了它。现在完成了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 2016-10-12
    相关资源
    最近更新 更多