этим все ОК, Но хочется еще в б.д прописать у каждой экспортируемой записи дату экспорта - вот как это сделать не совсем понимаю?
В момент экспорта, ты можеш знать список список тех, кого выгрузил?
Я не знаю список тех кого выгрузил. У меня и задача узнать этот список и обновить данные в Б,Д по выгруженным строкам
Тогда я не понимаю как у тебя происходит экспорт, что не известно какие записи были выгруженные
Каждый день в таблицу добавляются записи и раз в сутки надо выгружает новые записи в файл + надо фиксировать время выгрузки каждой записи в таблице. Мне наверное нужен метод типа getExportedRows()
А кем или кто делает экспорт? Но про метод верно, нужно собирать или знать какие записи в списке.
экспорт делается по крону, Но можно дернуть экспорт и через веб морду
Ну окей, как формируется запрос на выборку записей на выгрузку?
return JobRequest::whereNull('exported_at')->get(); Я конечно, могу 1. сделать выборку 2. обновить записи. НО а если в процессе экспорта что-то произошло и в файл данные не записались
Теперь я тебе понял. Смотри, можеш добавить к записи поле, напримр pid (process id), случайная строка или значений. Перед запуском команды, обнови записям это поле и сохрани значение. Потом для выборки уже используй это поле ->where('pid', $this->pid)->get() После импорта - ->where('pid', $this->pid)->update(['pid'=>null,'exported_at'=>now()]) Можно добавить try-catch и при ошибки только сбросить поле.
Обсуждают сегодня