यदि आपके द्वारा लिखी गई RawSql क्वेरी आपको वांछित परिणाम दे रही है यदि phpmyadmin या किसी अन्य उपयोगिता का उपयोग करके टेबल पर चलाया जाता है तो आप इसे निम्नलिखित में बदल सकते हैं।
$subQuery = Adanalytics::find()
->select([new Expression('[[id]], [[ad_id]], MAX([[impression]]) as impression, max([[view]]) as view, max([[clicks]]) as clicks,[[visitor_ip]],[[publisher_id]]')])
->where(['publisher_id' => Yii::$app->user->identity->id ])->
->groupBy('[[id]], [[visitor_ip]]');
$query = Adanalytics::find()
->select([new \yii\db\Expression('t.[[date_event]], t.[[id]], t.[[ad_id]], sum(t.[[impression]]) as total_impression, sum(t.[[view]])
as total_views, sum(t.[[clicks]]) as total_clicks, t.[[publisher_id]], i.[[budget]],i.[[name_of_campaign]]')])
->from(['t' => $subQuery])
->innerJoin('{{%inventory}} i', 'i.id=t.ad_id')
->groupBy('t.ad_id, t.date_event');
$query->all()
बस यह सुनिश्चित करें कि अन्य तालिकाओं में शामिल होने के लिए आप जिन विदेशी कुंजियों का उपयोग करते हैं, उन्हें चयन में निर्दिष्ट किया जाना चाहिए अन्यथा यह आपको कॉलम नहीं मिला / या अज्ञात कॉलम जैसी त्रुटि दे सकता है।