привет, подскажите красивое решение как избавиться от такой выборки.
На входе получаем коллекцию объектов. После этого необходимо из неё выбрать объект по совпадающему атрибуту.
Для чего это было написано, что бы снизить нагрузку на БД, и на каждой итерации foreach не лезть в базу. В allData - 57 элементов, а collection - 37.
Такой фильтрации сейчас в методе порядком 7, и снизило загрузку с 8 сек до 1. Но выглядит это не очень. Есть у кого идеи?
foreach ($allData as $data) {
$id = $data->id;
$items= array_filter($collection->all() , function ($row) use ($id) {
return $row->attribute === $id;
});
$item= array_shift($items);
}