В моей модели проекта у меня есть атрибут «код», который является уникальным (на уровне БД).
При «создании», даже если я хочу сгенерировать следующий код в последовательности, а при «созданном» событии я хочу обновить (увеличить) 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');
}