$request->phone_number, 'name' => $request->name, 'username' => static::generateUsername($request->name), 'locale' => app()->getLocale(), 'password' => Str::random(6), 'active' => true, ]); } /** * Generate random and unique username */ public static function generateUsername(string $name): string { // Convert the full name to lowercase and replace spaces with underscores $username = Str::slug($name, '_'); $count = DB::table('users')->where('username', $username)->count(); if ($count > 0) { $username = $username.'_'.($count + 1); } return $username; } }