无法在Drupal 8中以编程方式创建用户

问题描述 投票:0回答:1

[当我尝试以编程方式在drupal 8中创建用户时,它向我显示以下错误

1.)Drupal \ Core \ Entity \ EntityStorageException:字段类型未知。在Drupal \ Core \ Entity \ Sql \ SqlContentEntityStorage-> save()(/home/printhouseheroes/public_html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php的第783行)中。2.)InvalidArgumentException:字段类型未知。在Drupal \ Core \ Entity \ ContentEntityBase-> getTranslatedField()中(/home/printhouseheroes/public_html/core/lib/Drupal/Core/Entity/ContentEntityBase.php的586行)。

用于创建用户的代码如下

$language = \Drupal::languageManager()->getCurrentLanguage()->getId();



 $user = \Drupal\user\Entity\User::create();
  $user->setPassword($form_state->getValue('pass'));
  $user->enforceIsNew();
  $user->setEmail('[email protected]');
  $user->setUsername('test_test');//This username must be unique and accept only a-Z,0-9, - _ @ .
  $user->set("init", '[email protected]');
  $user->set("langcode", $language);
  $user->set("preferred_langcode", $language);
  $user->set("preferred_admin_langcode", $language);
  $user->activate();
  $user->save();

请提出建议

drupal drupal-8
1个回答
0
投票

尝试更改此内容

$user->set("init", '[email protected]');

为此

$user->set("init", 'email');
© www.soinside.com 2019 - 2024. All rights reserved.