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');
我在尝试对来自另一个 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');