簡體   English   中英

Yii2列中where子句不明確

[英]Yii2 Column in where clause is ambiguous

導致錯誤的查詢如下:

 $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

我知道這是行不通的,因為這些字段被命名為相同的字段,並且它不知道要抓住哪個字段。

有人知道我該如何解決嗎?

$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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM