Запросы в циклах это очень плохо, всегда желательно от этого избавляться.
У вас обязательно должен быть ключ уникальности в БД, чтобы небыло дубляжей. Когда вы это сделаете, можно использовать insert ignore
Ваш же код можно упростить, использовавши firstOrCreate метод
Чтобы избавится от запросов в цикле вам нужно
1. Сделать запрос в базу whereIn
2. Пройтись циклом по тому что найдено и отфильтровать
3. Оставшееся добавить через один insert
Таким образом у вас будет только два запроса