Где я должен положить код создания модели?

Предположим, у меня есть модель User, которая связана с моделями Image, Card и т. Д. Это означает, что когда я создаю нового пользователя, я должен создавать вместе с ним экземпляры Image и Card, например. У меня есть что-то вроде этого в методе store моего контроллера:

DB::beginTransaction();
try {
$user->saveOrFail();

$imageObj = new Image();
$imageObj->user_id = $user->id;
// set the other fields
$imageObj->saveOrFail();

$cardObj = new Card();
$cardObj->user_id = $user->id;
// set the other fields
$cardObj->saveOrFail();
.......................
DB::commit();
}

return redirect('some');
}

Для более чем 2 связанных моделей в контроллере слишком много кода, поэтому есть ли какие-нибудь мысли или рекомендации о том, где разместить этот код для лучшей масштабируемости?

-4

Решение

Я бы выбрал Фабрику. С помощью этого шаблона вы можете легко создать свой новый объект и вместе с ним все, что вам нужно. Вы просто должны передать правильные параметры вашему сервису.

проверьте эти документы для создания фабричного шаблона в SYmfony
https://symfony.com/doc/current/service_container/factories.html

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector