A + B列的总和显示在C中

时间:2019-02-17 13:50:33

标签: laravel eloquent laravel-5.4

我在数据库中有A,B列的数据,并且将在C列中显示A + B的总数。我有一个问题,在所有示例中,我都不知道如何编码A + B的总和:我使用LARAVEL在数据库中拥有200个数据

+----+------------+------------+
| id | logins_sun | logins_mon |
+----+------------+------------+
|  1 |     587    |     347    |
+----+------------+------------+
|  2 |     527    |     147    |
+----+------------+------------+
|  3 |     589    |     347    |
+----+------------+------------+
|  4 |     557    |     147    |
+----+------------+------------+
|  5 |     547    |     247    |
+----+------------+------------+

2 个答案:

答案 0 :(得分:0)

DB::table('table_name')->selectRaw('logins_sun, logins_mon, (logins_sun + logins_mon) AS sum')->get(); 

可能会工作。我有点假设logins_sun是A列,logins_mon是B列,并且我创建了一个名为sum的新列C。

答案 1 :(得分:0)

假设您有名为logins的表,则可以使用以下命令创建模型Login

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Login extends Model
{

    protected $table = 'logins';
}

然后执行:

$records = Login::select(
    'logins_sun', 
    'logins_mon',
    \DB::raw('logins_sun + logins_mon as logins_sum')
)->get();

这将为您提供以下格式的所有行:

+----+------------+------------+------------+
| id | logins_sun | logins_mon | logins_sum |
+----+------------+------------+------------+
|  1 |     587    |     347    |    934     |
+----+------------+------------+------------+

如果要更新:

\DB::table('logins)->update([
  'logins_sum' => \DB::raw('logins_sun + logins_mon')
]);