DB::transaction()
возвращает все возвращаемое в него замыкание.Поскольку ваше закрытие ничего не возвращает, DB::transaction()
вернет null
.Вам нужно добавить оператор return
в ваше закрытие.
return $result = DB::transaction(function() use ($attributes) {
$service = $this->service->create($attributes);
$visibilityAttributes = $attributes['dropdown_option_id'];
$visibilityAttributes = array_map('intval', $visibilityAttributes);
$service->visibility()->sync($visibilityAttributes);
// This value will be returned from DB::transaction().
return $service;
},3);