사용자 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()하면 사용자 이름의 변경된 값을 얻을 수 있습니다.
Prestosaurus 2016 년

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.