Yii 1.1:Pk在SELECT中自动添加了关系

时间:2016-12-28 14:31:18

标签: yii

我在SQL的新版本中遇到了一些问题,它使用了only_full_group_by选项。我有两个表:传感器和数据。传感器表中有HAS_MANY数据,因此数据表中有一个外键到传感器表的pk。这是一个关系:

'avg' => array(self::HAS_MANY, 'Data', 'sensor_id', 'select' => 'AVG(value) AS avg, date AS date', 'group' => 'date', 'order' => 'date desc')

Yii抱怨,因为SELECT语句中有一列没有被聚合。此列是数据表的pk,它似乎会自动添加到生成的查询的选择中,实际上查询是:

SELECT AVG(value) AS avg, date as date, id_data FROM `data` `avg` WHERE ... GROUP BY date ORDER ...

我想要做的是删除添加的pk或用ANY_VALUE包装它,以便only_full_group_by选项不再抱怨。

谢谢

1 个答案:

答案 0 :(得分:0)

自己找到答案,写在这里让每个人都可以使用。 要解决这个问题,您只需要在SELECT子句中添加id,并为它提供yii generate查询给出的相同别名。所以,在我的查询中我有

SELECT id as t0_c1 ...

我把它改成了

SELECT ANY_VALUE(id) as t0_c1 ...