$data['name'], 'planner_id' => $data['planner_id'], ]); // Create the user $user = User::create([ 'name' => $data['name'], 'planner_id' => $data['planner_id'], ]); if (! $user) { throw new Exception('User creation returned null'); } Log::info('CreateUserAction: User creation result', [ 'user_id' => $user->id, 'name' => $user->name, 'planner_id' => $user->planner_id, ]); // Verify the user was actually created $createdUser = User::find($user->id); if (! $createdUser) { throw new Exception('User creation did not persist to database'); } if ($createdUser->name !== $data['name']) { throw new Exception('User creation data mismatch'); } DB::commit(); Log::info('CreateUserAction: User successfully created', [ 'user_id' => $user->id, 'name' => $user->name, 'planner_id' => $user->planner_id, ]); return $user; } catch (Exception $e) { DB::rollBack(); Log::error('CreateUserAction: User creation failed', [ 'name' => $data['name'] ?? 'N/A', 'planner_id' => $data['planner_id'] ?? 'N/A', 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString(), ]); throw $e; } } }