国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

如何在laravel中計算兩列的總和以及關(guān)聯(lián)關(guān)係的數(shù)量?
P粉788571316
P粉788571316 2024-02-21 11:59:52
0
2
730

我有兩個表:買家和訂單。買家有很多訂單。

我想要所有買家以及特定時間內(nèi)訂單數(shù)和兩列訂單(價格、費用)的總和。我可以透過執(zhí)行以下操作來獲取計數(shù),

Buyer::withCount([
    'orders' => fn ($query) => $query
        ->where('created_at', '>=', $dateTo)
])
->get();

但是如何得到指定時間段的總和(->where('created_at', '>=', $dateTo))?

P粉788571316
P粉788571316

全部回覆(2)
P粉567112391

以同樣的方式,你有 withSum(),這是你可以做到的方法

Buyer::withCount([
            'orders' => fn($query) => $query->where('created_at', '>=', $dateTo),
        ])->withSum([
            'orders' => fn($query) => $query->where('created_at', '>=', $dateTo),
        ], 'price')->withSum([
            'orders' => fn($query) => $query->where('created_at', '>=', $dateTo),
        ], 'charge')->get();
P粉189606269

要在閉包內(nèi)使用變數(shù),您需要使用 use() 將其值傳送到該函數(shù)。

用於使用 withSum({relation},{column})# 你需要為每個單獨呼叫。

Buyer::withCount([
        'orders' => function ($query) use ($dateTo) { 
            $query->where('created_at', '>=', $dateTo);
        }
    ])
    ->withSum([
        'orders' => function ($query) use ($dateTo) { 
            $query->where('created_at', '>=', $dateTo);
        }
    ], 'price')
    ->withSum([
        'orders' => function ($query) use ($dateTo) { 
            $query->where('created_at', '>=', $dateTo);
        }
    ], 'charge')
    ->get();

withSum() 僅在 Laravel 版本 8 或更高版本中可用。

編輯箭頭函數(shù)語法

Buyer::withCount([
        'orders' => fn ($query) $query->where('created_at', '>=', $dateTo),
    ])
    ->withSum(['orders' => fn ($query) $query->where('created_at', '>=', $dateTo)], 'price')
    ->withSum(['orders' => fn ($query) $query->where('created_at', '>=', $dateTo)], 'charge')
    ->get();
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板