Я загружаю данные из Excel. В foreach я проверяю для каждой записи, существует ли она в базе данных:
$recordExists = $this->checkIfExists($record);
function checkIfExists($record) {
$foundRecord = $this->repository->newQuery()
->where(..., $record[...])
->where(..., $record[...])
...
->get();
}
Когда в Excel содержится до 1000 значений, что является относительно небольшим фрагментом данных - код выполняется около 2 минут. Я предполагаю, что это очень неэффективный способ сделать это.
Я думал о передаче массива загруженных данных методу checkIfExists
, но тогда я не смог запросить данные.
Каков будет путь?