简体   繁体   English

Yii2列中where子句不明确

[英]Yii2 Column in where clause is ambiguous

The query that is causing the error is below: 导致错误的查询如下:

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

The sql generated is as follows: 生成的sql如下:

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

I know it's not working because the fields are named the same and it doesn't know which one to grab. 我知道这是行不通的,因为这些字段被命名为相同的字段,并且它不知道要抓住哪个字段。

Does anyone know how I can work around this? 有人知道我该如何解决吗?

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

you can use this with query bulider : 您可以将其与查询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();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM