$check = Blacklist::where('link', $v->link)->first(); Очень долго обрабатывается. Подскажите пожалуйста, как можно сделать по другому проверку на существования записи?
$check = Blacklist::where('link', $v->link)->first(); Очень долго обрабатывается. Подскажите пожалуйста, как можно сделать по другому проверку на существования записи?
Несколько вариантов, 1. Вместо first использовать exists 2. Сохранить результаты парсинга в промежуточный массив с указанием ключа по link, после чего чанками по 200-300 записей искать схождения в бд одним запросом и если данные в бд отсутсвуют заводить их.
$check = Blacklist::where('link', $v->link)->first(); Очень долго обрабатывается. Подскажите пожалуйста, как можно сделать по другому проверку на существования записи?
Для начала, крайне рекомендую использовать нормальные нейминги)
Кароч да, делаешь массив ссылок, получаешь через whereIn все записи, которые есть в базе, сравниваешь, чего не хватает и одним инсертом вставляешь недостающие.
Кароч да, делаешь массив ссылок, получаешь через whereIn все записи, которые есть в базе, сравниваешь, чего не хватает и одним инсертом вставляешь недостающие.
Главное чанками )) а то захреначит 20 тыс ключей в выборку ))
Ребят, подскажите, туплю, какие прчины могут быть для проблем с базой после переноса? Тема указана в конфиге, права на месте. Меняю значения в .env - ноль реакции, меняю в конфиге - тоже