Как обновить пользовательские поля в Drupal 8 - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь обновить / сохранить пользовательское поле профиля пользователя в Drupal 8. Мне повезло получить значения, но не сохранить их обратно.

Вот мой код, любой1 знает, почему это не такРабота?Я уже пробовал разные их варианты.

 $user = \Drupal\user\Entity\User::load(1);  // Load USER of ID=1
 $user->set(‚field_user_curpage‘,38); //set my custom field = 38 !!!
 $user->save();  // save … 

Вот как я загружаю эти поля:

    $user = \Drupal\user\Entity\User::load(1);  // Load user with id = 1
    $curpage_load = $user->get(‚field_user_curpage‘); // Load custom field from User Profile
    $curpage = preg_replace(‚/[^0-9]/‚, ‚‘, $curpage_load->value);  // filter for No. only
    return $curpage;  // return output this

1 Ответ

0 голосов
/ 24 сентября 2018

Функция Entity Load возвращает статический объект.

Попробуйте вместо этого загрузить пользователя.
\Drupal::entityTypeManager()->getStorage('user')->load($id);

...