ユーザーIDからユーザー名を取得するにはどうすればよいですか?[閉まっている]


9

ユーザーIDだけを知っているユーザー名を印刷したい。どうすればこれを達成できますか?


1
あなたのタイトルは約7で、質問の本文は8についてです。
Mołot

回答:


17

これを行うには、user_loadまたは\Drupal\user\Entity\User::loadを使用できます。以下のコードは解決策を提供します

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

$name ユーザーのユーザー名を指定します。


1
user_loadためのリンクが償却され、あなたはおそらく、エンティティを使用する必要があります::負荷api.drupal.org/api/drupal/...
Ashkar A.Rahman

を使用$account->getDisplayName()すると、ユーザー名の変更された値を確実に取得できます。
プレストサウルス

7

D8では、uidがわからない場合は、次のようにします。

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'); }

1

プログラムでユーザーの名前を取得する方法はいくつかあります

$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]);

0

user_load($uid); これを使用すると、完全にロードされたUserオブジェクト(D7内)が返されます。

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

これにより、ユーザー名が出力されます。


この行を追加すると、webisteで発生したエラーがスローされます。上記のコードはD7で機能すると思います

質問のタグは[8]です。
wizonesolutions 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.