yii2 ActiveRecord 使用计算查找 OrderBy

yii2 ActiveRecord Find OrderBy with calculation(yii2 ActiveRecord 使用计算查找 OrderBy)
本文介绍了yii2 ActiveRecord 使用计算查找 OrderBy的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

试图从我的数据库中获取描述.查询返回结果,但我想将结果排序为只显示投票最高的那个.

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.

投票应该由upvoted列减去downvoted

$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

推荐答案

你应该简单地尝试:

$description = UnitDescription::find()
    ->where(['id_unit' => $model->id])
    ->orderBy(['(upvoted - downvoted)' => SORT_DESC])
    ->one();

这篇关于yii2 ActiveRecord 使用计算查找 OrderBy的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)