Где должна жить бизнес-логика в Laravel-приложении?
Не в контроллере и не в модели: первое делает её недостижимой из консольной команды, второе превращает модель в место, куда всё накапливается. Сервисы или action-классы с одной ответственностью, принимающие нужное и возвращающие результат, остаются тестируемыми и вызываются одинаково из контроллера, задачи и команды.