Добрый вечер, друзья, мне трудно получить SUM
от HASMANY
отношения с условием.
Я пытался сделать что-то вроде этого:
$marketPlaces = ModelAccountMarketplace::with(['orders'])
->whereHas('orders', function ($query) use ($dates) {
$query->selectRaw('SUM(valor_frete) as somaFreteGratis')
->whereBetween('datetime', [$dates['dateStart'], $dates['dateEnd']]);
});
Но когда я пытаюсь получить значение с помощью: var_dump($marketPlace->somaFreteGratis);
, я получаю значение null
. Я пытаюсь поместить where внутри WITH()
, например:
$marketPlaces = ModelAccountMarketplace::with(['orders' => function ($query) {
$query->selectRaw('SUM(valor_frete) as somaFreteGratis')->where('tipo_frete', 'gratis');
}])
->whereHas('orders', function ($query) use ($dates) {
$query->whereBetween('datetime', [$dates['dateStart'], $dates['dateEnd']]);
});
Но при каждой попытке я получаю нулевое значение, когда проверяю:
<?= var_dump($marketPlace->somaFreteGratis); ?>
Любая помощь будет оценена .