Как сложить по столбцу псевдонима в laravel? - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу, чтобы сумма столбца псевдонима в 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

 )

Пожалуйста, помогите мне, как я могу решить эту проблему.

...