Laravel Моделирование событий создается / создается - они транзакционные? - PullRequest
0 голосов
/ 27 февраля 2020

В моей модели проекта у меня есть атрибут «код», который является уникальным (на уровне БД).

При «создании», даже если я хочу сгенерировать следующий код в последовательности, а при «созданном» событии я хочу обновить (увеличить) last_project_code_increment.

Это все по умолчанию в транзакции? Я предполагаю, что это не так, но я не знаю, как обернуть его или как поймать здесь QueryException (если два проекта создаются одновременно и получают один и тот же код проекта, сгенерированный до обновления last_project_code_increment)

Упрощенный пример:

public function creating(Project $project)
{
    $project->code = $project->brand->code . '-' . ++($project->brand->last_project_code_increment);

}

public function created(Project $project)
{
    $project->brand->increment('last_project_code_increment');
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...