169 похожих чатов

🎯🎯Коллеги, привет! Подскажите такую вещь: - есть стандартный CRUD с валидацией и

т.д.
- и есть таже самая задача, но в виде Job
Cуть задачи:
— получить данные JSON с чужого сервера
--- препарировать
—- провалидировать
—- вставить в БД
—- в случае ошибки на любом шаге - джоба попадает в FailedJob
Вопрос: чтобы не дублировать код (prepareData, валидация insert в БД) - можно ли как-то полученный в джобе JSON отправить в контроллер в виде Request? И нормальная ли это практика?
#вопрос_на_миллион

14 ответов

20 просмотров

Нет, не нормальная

Kartulin-Kartulin Автор вопроса
Sergey Chizhik
Нет, не нормальная

а как тогда быть? всю голову сломал.. тоже понимаю, что ненормальная пока всю логику написал тупо в Джобе... тоже вроде нехорошо так...

Kartulin-Kartulin Автор вопроса

у меня не получается запустить FormRequest, если я отсылаю JSON с Джобы... Есть возможность показать мне пример? ну типа: Class Service ($param) function store() —- из джобы передаем так... из контроллера так ==== ну просто уже неделю сижу, читаю, пробую - ни в какую везде стандартные примеры: crud и с формочки отправили-провалидировали и пздц..

Kartulin Kartulin
у меня не получается запустить FormRequest, если я...

Тебе не нужен request из джобы. Попробуй сначала вынести параметры любым способом например в массив, хоть request validated, передавай его в сервис из контроллера. Потом в джобе сделай такой же массив и отправляй в сервис

Kartulin-Kartulin Автор вопроса
Sergey Chizhik
Тогда вот

Спасибо, попробую.. не совсем понял одну вещь в тексте, но попытаюсь врубиться методом тыка..

Kartulin Kartulin
у меня не получается запустить FormRequest, если я...

в сервисе размести массив с правилами валидации и задай два метода: fromRequest(Request $request); fromJson(string $json); и соответвующие проверки: 1) через $request->validated($this->rules()) 2) Validator::make($this->rules(), json_decode($json, true))->validated() а далее массив полученный из validated() передать в метод который и занимается его обработкой

Kartulin-Kartulin Автор вопроса
Sergey Chizhik
Какую?

что имеется ввиду под словом "параметры"? входящий JSON или параметры валидации?

Kartulin-Kartulin Автор вопроса
Egor Gruzdev
в сервисе размести массив с правилами валидации и ...

ага, спасибо.. вот так понятнее, когда с кодом

Kartulin Kartulin
что имеется ввиду под словом "параметры"? входящий...

Ну, что у тебя там в json, это и есть параметры

try { } catch (ValidationException $exception) { $exception->errors(); }

Kartulin-Kartulin Автор вопроса
Egor Gruzdev
try { } catch (ValidationException $exception) { ...

хм.. странно.. все равно пишет свою ошибку, а не мою... ладно.. хер с ним.. пометил как //FIXME Спасибо! очень выручили

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта