yii2 ActiveRecord Найти порядок с помощью расчета


Пытаюсь получить описание из моей базы данных. Запрос возвращает результат, но я хотел бы, чтобы результат показывал только тот, у которого наибольшее количество голосов.

Голосование должно быть рассчитано по столбцу upvoted, вычитаемому из столбца downvoted

$description = UnitDescription::find()
   ->where(['id_unit' => $model->id])
   ->orderBy([
      'upvoted - downvoted' => SORT_DESC //Need this line to be fixed
   ])
   ->one();

Я надеялся, что у кого-нибудь может быть способ написать эту часть запроса - Спасибо

Author: Jonnny, 2016-01-04

1 answers

Вы должны просто попробовать:

$description = UnitDescription::find()
    ->where(['id_unit' => $model->id])
    ->orderBy(['(upvoted - downvoted)' => SORT_DESC])
    ->one();
 25
Author: soju, 2016-01-04 10:45:44