gleber1
@gleber1

Куда вынести логику работы с данными принадлежащими разным моделям?

Например на форме редактируются или заполняются данные для разных на то экшонов. Т.е форма включает в себя айтем и даннные связанные с ним.(существующие или которые только появятся после создания). И в контроллер обрабатывающий эту форму
как минимум добавится проверка и цикл(если данные пришли массивом)
MainItem
id name someColumn

RelatedItem
id mainItem_id someColumn // Как раз эти айтемы я и хочу вынести из MainItemController

if($request->SomeRelationsItems){// Могли создать только айтем без данных связанных с ним
 foreach ($request->SomeRelationsItems as $Item){ //Если их много

Так вот куда в laravel лучше вынести логику обработки и последующего сохранения этих данных
Зачем мне это?
А разве это не нарушает Single responsibility?
  • Вопрос задан
  • 295 просмотров
Решения вопроса 2
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
Шаблон фасад (англ. Facade) — структурный шаблон проектирования, позволяющий скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Single responsibility

Вы используете active record для того что бы проводить валидацию ваших бизнес объектов... уже три задачи для одного компонента (если упрощать конечно, все чуть сложнее). Для валидации в Laravel есть клевая тема - FormRequest. Ну и в целом если вас сильно парит SOLID то Laravel несколько не тот фреймворк на котором стоит делать дела, хоть и можно конечно, но все становится чуть сложнее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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