【问题标题】:yii Criteria only one row in resultyii Criteria 结果中只有一行
【发布时间】:2014-10-31 13:39:06
【问题描述】:

我想在 CGridView 中显示一些计算值,但它只在 CGridView 中显示 ONE

功能:

public $Name;
public $ calculatedSum;

public function listSum()
{
        $criteria = new CDbCriteria();
        $criteria->select = 'Name as Name,'
                . 'sum((wert1-wert2-wert3-wert4)*24) AS calculatedSum,'
        return new CActiveDataProvider ( $this, array (
                'criteria' => $criteria));
}

当我删除查询的AS calculatedSum 部分时,它会显示所有结果,但使用AS calculatedSum 部分它只会在CGridView 中显示一个结果。但我需要AS calculatedSum 在视图中显示计算的字段。

有人有解决方案的想法吗?

【问题讨论】:

  • 这个怎么样? $criteria->select = 'Name Name ,sum((wert1-wert2-wert3-wert4)*24) calculatedSum' ?
  • calculatedSum 不在数据库中,我需要“AS computedSum”在 GridView 中对其进行索引
  • 我知道,这里的重点是我删除了额外的,,还删除了AS

标签: php mysql yii cgridview


【解决方案1】:
$criteria->select = 'Name as Name,'
     . '((wert1-wert2-wert3-wert4)*24) AS calculatedSum,'

不要使用 sum 函数。这总结了所有列,并且没有 group by (也不需要)将始终导致您只有一行。您所需要的只是简单的算术运算,就像括号内的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 2012-05-02
    • 2017-09-09
    相关资源
    最近更新 更多