问题
Trying to fetch a description from my database. The query returns the result but I would like to order the result to only show the one with the highest vote.
The vote should be calculated by the upvoted column subtracted by the downvoted column
$description = UnitDescription::find()
->where(['id_unit' => $model->id])
->orderBy([
'upvoted - downvoted' => SORT_DESC //Need this line to be fixed
])
->one();
I was hoping someone might have a way to write this part of the query - Thanks
回答1:
You should simply try :
$description = UnitDescription::find()
->where(['id_unit' => $model->id])
->orderBy(['(upvoted - downvoted)' => SORT_DESC])
->one();
来源:https://stackoverflow.com/questions/34588843/yii2-activerecord-find-orderby-with-calculation