@kip_34
Хороший

Где реализовать такую логику?

Здравствуйте. Добрался в разработку приложения до нестандартной бизнес-логики. Вот такой кусок вставил в контроллер:
public function update(Request $request, $id)
    {
        $part = RollPartsStorage::find($id);
        $part->lenght = $part->lenght - $request->lenght;
        $part->save();

        $roll_plus = new RollPartsStorage;
        $roll_plus->roll_storage_id = $request->roll_storage_id;
        $roll_plus->price = $request->price;
        $roll_plus->provider_id = $request->provider;
        $roll_plus->status_id = 1;
        $roll_plus->type_id = 2;
        $roll_plus->width = $part->width - $request->width;
        $roll_plus->lenght = $request->lenght;
        $roll_plus->save();

        $action = new RollActionsStorage;
        $action -> roll_storage_id = $request->roll_storage_id;
        $action -> type_id = 2;
        $action -> user_id = Auth::id();
        $action -> reason = $request->reason;
        $action -> width = $request->width;
        $action -> lenght = $request->lenght;
        $action->save();
        return redirect(route('roll.show', ['id' => $request->roll_storage_id]))->with(['part_status' => 'Изменения сохранены!', 'part_color' => 'success']);
    }

т.е. при списании куска ткани из рулона делается отрез, от него отрезается нужный кусок, сохраняется действие его списание, а остаток помещается в склад. При том, что такой функционал еще будет нужен при создании изделия.
Почитал и посмотрел много всего, о сервис-контейнерах и провайдерах, о сервисах, репозиториях.
Хотел сделать сервис-провайдеры для трех этих моделей, но не понимаю, нужен ли будет функционал провайдера, или можно сделать как-то проще и без излишевств. Подскажите, пожалуйста.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
Вынеси логику куда захочешь.

В сервис, например.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы