-->

分组聚合与谊STAT?(Grouped aggregations with Yii STAT?)

2019-09-19 06:01发布

我有一个Yii的STAT关系说的已定义提供分组SUM的结果, 但是当我在查看访问的关系唯一价值是最新的单一价值,而不是每个值

例如,这里是我的关系:

'total_salaries_by_job' => array(
    self::STAT, 
    'Employee', 
    'department_id', 
    'select' => 'job_type_id, SUM(salary)', 
    'group'=>"job_type_id"
) 

这将生成以下SQL:

SELECT
  department_id AS c
, job_type_id
, SUM(salary) AS s 
FROM Employee AS t
WHERE t.department_id = 1 
GROUP BY 
  department_id
, job_type_id 

手动运行,结果集是:

c     | job_type_id    | s
------+----------------+---------
1     | 1              | 233000
------+----------------+---------
1     | 2              | 25000
------+----------------+---------
1     | 3              | 179000

然而,在我看来,如果我做到以下几点:

<pre>
<?php print_r($department->total_salaries_by_job); ?>
</pre>

其结果是简单地: 179000 ,而我期待它是用3个元素的数组。

是只返回1值的方式STAT关系工作还是有别的东西,我需要做?
是否有可能做我尝试?

Answer 1:

你可以做你所追求的,但你不能使用STAT关系做到这一点。 相反,使用普通HAS_MANY关系,并使用相同的SELECT语句。



文章来源: Grouped aggregations with Yii STAT?