/**
* @param mixed $article_id
* @return double
*/
public function getAvg($article_id)
{
return ArticleRate::find()->where(["article_id" => $article_id])
->average("rate");
}
Por exemplo, usando para RDBMS.
Agora eu converto a fonte em ElasticSearch.
yiielasticsearchActiveQuery
não tem o método average()
, então o que posso usar?
Respostas:
2 para resposta № 1Você precisará usar o addAggregation () método de ActiveQuery
. o Documentação do Elasticsearch tem mais informações sobre os tipos de agregação que você pode usar, incluindo o uso de médias.