Mysql будет суммировать total
из таблицы packagings
, которая сначала станет одной записью, а затем возьмет 2 записи из одной записи. Поэтому он всегда возвращает всю сумму из поля total
.
Способ сбора:
$data = DB::table('packagings')->where('plant',$pt->plant)->latest()->take(2)->get()->sum('total');
Способ построения запросов:
$sub = DB::table('packagings')->where('plant',$pt->plant)->latest()->take(2);
$data = DB::table(DB::raw("({$sub->toSql()}) AS sub"))->mergeBindings($sub)->sum('total');