我有一个Yii STAT关系,该关系被定义为提供分组SUM结果, 但是,当我在View中访问该关系时 , 唯一的值是最新的单个值,而不是每个值 。
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个元素的数组。
179000
是仅以STAT关系的工作方式返回1值,还是我需要做其他事情? 有可能做我想做的事吗?
您可以按照自己的意愿去做,但是不能使用STAT关系来做到这一点。而是,使用普通的HAS_MANY关系并使用相同的select语句。