Como obtenho o nome de usuário no ID do usuário? [fechadas]

9

Quero imprimir o nome de usuário sabendo apenas o ID do usuário. Como faço para conseguir isso?

kiamlaluno
fonte
1
Seu título é de cerca de 7 e o corpo da pergunta, de 8. A votação para fechar é agora pouco clara.
Mołot 18/01/16

Respostas:

17

Você pode usar user_load ou \Drupal\user\Entity\User::loadpara fazer isso. O código abaixo fornecerá a solução

 public function content() {
     $account = \Drupal\user\Entity\User::load('uid'); // pass your uid
     $name = $account->getUsername();
     drupal_set_message($name);
 }

$name fornece o nome de usuário do usuário.

Vamsi
fonte
1
ligação para user_load é depreciado, você provavelmente deve usar Entidade :: load api.drupal.org/api/drupal/...
Ashkar A.Rahman
O uso $account->getDisplayName()ajudará a garantir que você obtenha qualquer valor alterado do nome de usuário.
Prestosaurus 5/06/19
7

No D8, se você não conhece o uid, pode fazer o seguinte:

function test_user_login(\Drupal\Core\Session\AccountInterface $account) {
   $account = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
   $user = $account->get('name')->value;
   drupal_set_message($user, 'status'); }
FlorentS
fonte
1

Existem várias maneiras de obter o nome do usuário programaticamente

$account = \Drupal\user\Entity\User::load(1); // pass your uid    
//1 
drupal_set_message($account->name->value);    
//2
drupal_set_message($account->get("name")->value);    
//3
drupal_set_message($account->getUsername());
//4
drupal_set_message($account->name->getValue()[0][value]);
JHONATAN DAVID FERNANDEZ ROSA
fonte
0

Você pode usar user_load($uid); Isso retornará um objeto Usuário totalmente carregado (em D7).

$user = user_load($uid);
print $user->name;

Isso deve imprimir o nome do usuário.

bodi87
fonte
Ele lança o erro encontrado do site após adicionar essas linhas. Eu acho que o código acima funciona para D7
A pergunta está marcada [8].
Wizonesolutions