VY
из одной и той же таблицы получаю данные за сегодня и за вчера;
дальше нужно показать разницу стоимости за эти сутки;
чтобы было точное соответствие - бегаю циклом по коллекции сравниваю записи по 7 полям, таким образом:
$dataDayBefore = UacCashPrice::where('date', $dayBeforeDate)->get();
foreach ($actualQuery as $key => $actRow) {в каждой из коллекций примерно 350 записей - вроде совсем не много, но
$foundRow = $dataDayBefore
->where('commodity', $actRow['commodity'])
->where('quality', $actRow['quality'])
->where('country', $actRow['country'])
->where('port', $actRow['port'])
->where('condition', $actRow['condition'])
->where('currency', $actRow['currency'])
->where('month_num', $actRow['month_num'])
->flatten();
if ($foundRow->count() > 0) {
$actualQuery[$key]['day_diff'] = $actRow['seller_avg'] - $foundRow->first()->seller_avg;
}
}
этот цикл выполняется 15 секунд;
подскажите плз способы оптимизации или вообще - как по-другому сравнить коллекции?