उपयोगकर्ता आईडी से मुझे उपयोगकर्ता नाम कैसे मिलेगा? [बन्द है]


9

मैं केवल उपयोगकर्ता आईडी जानकर उपयोगकर्ता नाम प्रिंट करना चाहता हूं। मुझे यह कैसे हासिल होगा?


1
आपका शीर्षक 7 के बारे में है, और प्रश्न के बारे में 8 शरीर। अब अस्पष्ट के रूप में बंद करने के लिए मतदान।
मोलॉट

जवाबों:


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 के लिए लिंक ह्रासमान है, आपको संभवतः Entity :: load api.drupal.org/api/drupal/…
Ashkar A.Rahman

उपयोग $account->getDisplayName()करने से यह सुनिश्चित करने में मदद मिलेगी कि आपको उपयोगकर्ता नाम का कोई भी परिवर्तित मूल्य मिल सकता है।
प्रेस्टोसॉरस

7

D8 में, यदि आप यूआईडी नहीं जानते हैं, तो आप यह कर सकते हैं:

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); यह पूरी तरह से भरी हुई उपयोगकर्ता ऑब्जेक्ट (D7 में) लौटाएगा।

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

यह उपयोगकर्ता नाम प्रिंट करना चाहिए।


यह इस लाइन को जोड़ने के बाद वेबिस्ट की त्रुटि का सामना करता है। मुझे लगता है कि उपरोक्त कोड D7 के लिए काम करता है

प्रश्न टैग किया गया है [8]।
१०:५० पर विघ्ननाशन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.