Как я могу получить вчерашнюю запись из таблицы, а затем поля SUM из вчерашней записи в Laravel 7 - PullRequest
1 голос
/ 03 августа 2020

У меня есть таблица с 4 полями / столбцами A, B, C, D. Теперь мне нужно получить предпоследнюю или вчерашнюю запись из таблицы, а затем СУММУ полей / столбца A, B как Результат1 и СУММ of C, D полей / столбца как Результат2. Пожалуйста, проверьте изображение для лучшего понимания. Проблема в том, что я получаю вчерашние данные, но агрегированная SUM не работает.

$all = Corona::orderBy('created_at', 'desc')->skip(1)->take(1)->first();
 
 $Result = array(

     'Result1' => $all->map(function($all){ return $all->A; })->sum()+
                         $all->map(function($all){ return $all->B; })->sum(),                         
                         
     'Result2' => $all->map(function($all){ return $all->C; })->sum()+
                         $all->map(function($all){ return $all->D; })->sum()       
     );

Таблица с ожидаемым результатом

1 Ответ

0 голосов
/ 03 августа 2020

Вы должны добавить значение , например, следующее

->value(DB::raw("SUM(A + B) AS some_name"));

, ваш запрос будет выглядеть следующим образом

$yourdate = "2020-08-02 07:24";
$stats = Corona::where('created_at', $yourdate)
                ->value(DB::raw("SUM(A + B) AS some_name"));
...