Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Yii2 :कच्ची क्वेरी को ActiveRecord में कनवर्ट करना

यदि आपके द्वारा लिखी गई 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()

बस यह सुनिश्चित करें कि अन्य तालिकाओं में शामिल होने के लिए आप जिन विदेशी कुंजियों का उपयोग करते हैं, उन्हें चयन में निर्दिष्ट किया जाना चाहिए अन्यथा यह आपको कॉलम नहीं मिला / या अज्ञात कॉलम जैसी त्रुटि दे सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका को छोटा करने का प्रयास करते समय MySQL त्रुटि

  2. PHP और MYSQL डेटाबेस कनेक्शन और टेबल निर्माण केवल एक बार

  3. MySQLi का उपयोग करके PHP से MySQL संग्रहीत फ़ंक्शन को कॉल करते समय घातक त्रुटि

  4. MYSQL डुप्लीकेट कुंजी काम नहीं कर रही है

  5. डेटाबेस छोड़ने में त्रुटि ('.test\' rmdir नहीं कर सकता, त्रुटि:17)