2016-12-28 33 views
0

我有一些使用only_full_group_by選項的新版SQL的問題。我有兩個表格:傳感器和數據。傳感器表HAS_MANY數據,所以數據表有一個外鍵到傳感器表的pk。這裏有一個關係:Yii 1.1:Pk自動添加在SELECT中作爲關係

'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選項就不會再抱怨了。

謝謝

回答

0

我自己找到了答案,寫在這裏讓它可以提供給大家。 爲了解決這個問題,你只需要在SELECT子句中添加id,並給它賦予yii generate查詢給出的相同別名。所以,在我詢問我有

SELECT id as t0_c1 ... 

我改成了

SELECT ANY_VALUE(id) as t0_c1 ...