使用Laravel Query计算两列的值

时间:2017-02-27 22:25:22

标签: php mysql laravel

如何使用Laravel 5查询计算两列的值?

我的数据库结构示例。

+--------+--------+
| value1 | value2 |
+--------+--------+
| 30     | 30     |
+--------+--------+
| 10     | 10     |
+--------+--------+
| 5      | 25     |
+--------+--------+

我希望获得value1 + value2的总价值我尝试过这样的事情,但它没有用。

$topUsers = DB::table('users_stats')->orderBy('value1 '+' value2', 'desc')->limit(3)->get();

这样我就会收到此错误:

ErrorException in HomeController.php line 39:

A non-numeric value encountered

预期产出:

60
20
30

2 个答案:

答案 0 :(得分:2)

尝试

$topUsers = DB::table('users_stats')
->groupBy('id')
->orderByRaw('SUM(value1 + value2) DESC')
->limit(3)
->get();

答案 1 :(得分:0)

使用馆藏

    $topUsers = DB::table('users_stats')->limit(3)->get()
        ->transform(function ($item) {
            return $item->value1 + $item->value2;
        });

Laravel Collections: Transform