J'ai deux tables : les acheteurs et les commandes. Les acheteurs ont de nombreuses commandes.
Je veux la somme de tous les acheteurs et le nombre de commandes et deux colonnes de commandes (prix, frais) sur une période de temps spécifique. Je peux obtenir le décompte en procédant comme suit :
Buyer::withCount([ 'orders' => fn ($query) => $query ->where('created_at', '>=', $dateTo) ]) ->get();
Mais comment obtenir la somme (->where('created_at', '>=', $dateTo)
) d'une période de temps spécifiée ?
De la même manière que vous avez withSum() a>, voici comment procéder
Pour utiliser une variable à l'intérieur d'une fermeture, vous devez envoyer sa valeur à la fonction en utilisant
use()
.Pour utiliser
withSum({relation},{column})
, vous devez passer des appels séparés pour chacun.withSum()
Uniquement disponible dans Laravel version 8 ou supérieure.EditSyntaxe de la fonction flèche