2016-11-17 57 views
0

我有一個連接查詢,我需要與活動記錄重拍..問題是,查詢是相當困難,我不知道如何在連接中進行連接.. 。yii2使用ActiveRecord加入另一個查詢

查詢:

$query = Product::find() 
      ->select([ 
       'p.*', 
       'pv.Units as SaleUnits', 
       'pv.Total as Pv', 
      ]) 
      ->leftJoin(' 
      (select 
      cl.campaign_list_status 
      p.id, 
      p.admin_title, 
      ao.article, 
      sum(ao.article) as Articles, 
      sum(ao.units) as Units, 
      TRUNCATE(sum(spo.total_price),2) as Total 
      from campaign_list cl 
       inner join campaign_article ca on ca.id_campaign_list=cl.id 
       group by ao.article) pv','pv.id=p.id') 
      ->all(); 

是,即使可以用ActiveRecord?

回答

0

這是更簡單(只想法):

$query = Product::find() 
     ->select([ 
      'p.*', 
      'sum(units) as SaleUnits', 
      'sum(article) as Pv', 
     ]) 
     ->leftJoin('campaign_article','???') 
     ->leftJoin('campaign_list','???') 
     ->groupBy('article') 
     ->all(); 
0

U可以在Yii2執行相同的SQL查詢。

$connection = Yii::$app->getDb(); 

     $command = $connection->createCommand("Your complete sql query"); 
     $rows = $command->queryAll();