2017-10-17 79 views
0

,导致该错误的查询是以下:Yii2列

$query = $model::find() 
     ->leftJoin('reseller_config', 'reseller_rate.resellerref = reseller_config.resellerref') 
     ->select('reseller_rate.*, reseller_config.resellerref AS rate_increase'); 

生成的SQL如下:

SELECT COUNT(*) FROM `reseller_rate` LEFT JOIN `reseller_config` ON reseller_rate.resellerref = rc.resellerref WHERE `resellerref`=56 

我知道它不工作,因为字段命名相同,它不知道要抢谁。

有谁知道我该如何解决这个问题?

+0

在选择方法,则需要调用'reseller_rates',而在加入您的呼吁'reseller_rate'(无S) – gmc

+0

对不起,这是一个错字将立即编辑 - 在我的代码中是正确的 – Kyle

+0

'WHERE'resellerref' = 56'从哪里来??它不在查询中! –

回答

0
$query = $model::find() 
    ->leftJoin('reseller_config', 'reseller_rate.resellerref = reseller_config.resellerref') 
    ->select('reseller_rate.*', 'reseller_config.resellerref AS rate_increase'); 

您可以查询bulider使用:

$model = (new Query()) 
      ->select(['reseller_rate.*', 'reseller_config.resellerref AS rate_increase') 
      ->from('reseller_rate') 
      ->leftJoin('reseller_config', 'reseller_rate.resellerref = reseller_config.resellerref') 
      ->all();