Заводы в технике Laravel / Design Pattern

Я немного запутался по поводу заводов в Ларавеле.

Фабрики, о которых все говорят, — это возможность создавать фиктивные объекты, чтобы вы могли тестировать или просто быстро генерировать фиктивные объекты для ваших тестов.

Вы обычно используете Faker помощник, чтобы получить случайные данные.

Теперь у меня есть еще один частый случай использования, который требует фабрики, это создание объектов.

Так, например, в TreeController@storeУ меня есть статический метод для создания / обновления настроек:

    $championship->settings =  ChampionshipSettings::createOrUpdate($request, $championship);

с

public static function createOrUpdate(Request $request, Championship $championship): ChampionshipSettings
{
$request->request->add(['championship_id' => $championship->id]);
$arrSettings = $request->except('_token', 'numFighters');
$settings = static::where(['championship_id' => $championship->id])->first();
if ($settings == null) {
$settings = new self();
}
$settings->fill($arrSettings);

$settings->save();

return $settings;
}

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

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

Затем я мог бы использовать существующую фабрику, но если я не укажу атрибут, он сгенерирует случайный атрибут, поэтому мне нужно будет установить все неиспользуемые атрибуты в ноль перед созданием …

Ну, я немного озадачен тем, как мне управлять своими фабриками …

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы [email protected]