Я пытаюсь получить доступ к содержимому пользовательских полей в объекте пользователя.
Некоторые защищают пользователя user_load.Но, по словам Drupal, это устарело.
в Drupal 8.x будет удалено до Drupal 9.0.Используйте \ Drupal \ user \ Entity \ User :: load ().
Поэтому я попытался использовать Entity :: load.Он загружает объект, и в моей IDE я вижу значения ... но я не могу загрузить локальную переменную со значением.Вот код, который не работает.
public function arguments($arg1) {
$userProfile = \Drupal\user\Entity\User::load($arg1);
$display_username = $userProfile->getAccountName();
$current_user = user_load($user_id);
$lastname = $userProfile->values["field_user_last_name"]["x-default"][0]["value"];
Эта строка пришла с пути, который я видел в возвращенном объекте.Однако, как видно на скриншоте из IDE, значение возвращается NULL.
Я уверен, что это нечто простое, чего я не вижу.(пропуская старые добрые времена не-ООП!)