Yii2 Framework 与 Sum 的关系无法正常工作

Yii2 Framework Relation with Sum Not Working Correctly

我在尝试对来自另一个 table 的相关数据求和时遇到问题。

我创建了一个getter如下...

public function getContItems()
{
    return $this->hasMany(ContItems::className(), ['CONTNO' => 'inspQuoteNo'])->sum('LINETOT');
}

当我使用它时出现以下错误:“frontend\models\Quotes 没有名为 "contItems". 的关系”

当我如下声明 getter 时,我没有收到任何错误,但不想遍历总和的结果,因为这样做非常慢:

public function getContItems()
{
    return $this->hasMany(ContItems::className(), ['CONTNO' => 'inspQuoteNo']);
}

有谁知道为什么总和不起作用并且好像没有与总和声明的关系一样?

谢谢!

问题是关系应该 return 对象 \yii\db\ActiveQuery。如果您将 ->sum(...) 附加到查询,它将 return 一个整数。

但是您可以使用如下关系 returned 的查询:

$sum = $quote->getContItems()->sum('LINETOT');