我正在建立一个讨论区,我正在创建一个名为“Top”的主题列表,该主题按主题的“热门程度”排序。
我正在尝试做类似的事情:
SELECT ((post_count * 2) + (like_count * 4)) as popularity_score
FROM `topics`
WHERE `deleted`=0
ORDER BY popularity_score DESC
我如何以雄辩的方式做到这一点?我对它没什么好运。
答案 0 :(得分:6)
您可以使用DB::raw
执行此操作:
DB::table('topics')
->select('id', '...', DB::raw('(post_count*2) + (like_count*4) as popularity_score'))
->where('deleted', '=', 0)
->orderBy('popularity_score', 'asc')
->get();