Умножить значения в коллекции - PullRequest
0 голосов
/ 14 марта 2020

Привет всем, у меня есть что-то вроде этого, и я хочу умножить «число» каждого объекта. например 2 (номер первого объекта) x3 (номер второго объекта) = 6 (ответ должен быть 6) кто-нибудь знает, как это сделать? Массив не всегда один и тот же. Здесь он имеет 2 объекта, но его можно изменить.

[{"id":7,"date":"2020-03-14","number":2},{"id":20,"date":"2020-03-15","number":3}]  

Обновленный ответ (Рабочий)

                     foreach ($studentDetail as $student){
                     $number = calendar::where('student_id','=',$student['id'])
                            ->where('date','>=',$jsonData->checkin)
                            ->where('date','<',$jsonData->checkout)
                            ->get();
                        Log::info($number );
                        $multiplied= $number ->reduce(function ($carry, $item) {
                             return $carry * $item->number;
                        }, 1);
                        Log::info($multiplied);
                        }

1 Ответ

1 голос
/ 14 марта 2020

Вы можете использовать reduce() метод Laravel collection

Метод Reduce сводит коллекцию к одному значению, передавая результат каждой итерации в последующую итерацию

$multiplied= $collection->reduce(function ($carry, $item) {
  return $carry * $item->number;
}, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...