Я хочу, чтобы сумма столбца псевдонима в laravel.Я получаю файлы с запросом ниже: -
$details = File::query();
$details->withCount(['partialfiles as partialamount' => function($query) use($startdate,$enddate){
$query->select(DB::raw('sum(partial_amount)'))
->whereDate('partial_date', '>=', $startdate)
->whereDate('partial_date', '<=', $enddate);
}])->get();
Теперь каждый массив имеет свою частичную сумму, как показано ниже: -
Array
(
[0] => Array
(
[id] => 98
[file_no] => FSC195
[partialamount] => 15000000
)
[1] => Array
(
[id] => 238
[file_no] => FSC334
[partialamount] => 2026670
)
)
Теперь частичная сумма создается как псевдоним как функция WithCount с hasManyОтношения.Пока это не работает нормально.Теперь, что я хочу, чтобы снова сумма столбца псевдонима.Теперь я обновил запрос, как показано ниже: -
$details = $details->addselect(DB::raw('count(files.id) as total_files'),DB::raw('sum(select(partialamount))) as total_amount'))
->first();
Теперь я обновил get to first.В вышеприведенном выводе есть два массива, которые я использовал для всех файлов DB :: raw ('count (files.id) как total_files') это работает нормально, возвращая 2.Теперь, когда я суммирую в столбце псевдонима serialamount его возвращаемую ошибку на этом DB :: raw ('sum (select (частичный))) как total_amount') .Я проверил с помощью mysql squery и попытался вставить в БД: raw это не работает. Ссылка на ссылку, по которой я следовал: - Как вычислить статистическую функцию SUM для столбца псевдонимов? Мой ожидаемый результат такой, как показано ниже: -
Array
(
[total_files] => 2 // this is already done
[total_amount] => 17026670 // not able to do
)
Пожалуйста, помогите мне, как я могу решить эту проблему.