Drupal 8 - 如何以编程方式创建节点实体引用变量?
Drupal 8 - How to programmatically create a node entity reference variable?
如何在 Drupal 8 中以编程方式创建节点实体引用?
我有一个创建 'company' 节点然后创建用户帐户的自定义表单,该用户帐户有一个字段 'field_company',它是链接到节点 'company' 的实体引用。那么如何在我的新用户 'field_company' 字段中保存我新创建的节点引用?
这不起作用,$pub_company 或 $newCompanyNode->id() 本身也不起作用。
$user->set("field_company", $pub_company . ' ' . $newCompanyNode->id());
$pub_company是公司名称
$newCompany 是新创建的完整节点
$newCompanyNode->id() 持有新创建的 'company' 节点 id
$user = User::create();
$userEmail = $form_state->getValue('user_email');
// Generate Password
$password = user_password();
// Save User
$user->setPassword($password);
$user->enforceIsNew();
$user->setEmail($userEmail);
$user->setUsername($userEmail);
$user->set("field_firstname", $form_state->getValue('user_firstname'));
$user->set("field_lastname", $form_state->getValue('user_lastname'));
$user->set("field_company", $pub_company . ' ' . $newCompanyNode->id());
$user->activate();
$user->save();
在这里找到了解决方案,尽管起初有点不同,因此令人困惑:https://drupal.stackexchange.com/questions/213379/programmatically-update-an-entity-reference-field
$user->field_company->entity = $newCompanyNode;
如何在 Drupal 8 中以编程方式创建节点实体引用? 我有一个创建 'company' 节点然后创建用户帐户的自定义表单,该用户帐户有一个字段 'field_company',它是链接到节点 'company' 的实体引用。那么如何在我的新用户 'field_company' 字段中保存我新创建的节点引用?
这不起作用,$pub_company 或 $newCompanyNode->id() 本身也不起作用。
$user->set("field_company", $pub_company . ' ' . $newCompanyNode->id());
$pub_company是公司名称
$newCompany 是新创建的完整节点
$newCompanyNode->id() 持有新创建的 'company' 节点 id
$user = User::create();
$userEmail = $form_state->getValue('user_email');
// Generate Password
$password = user_password();
// Save User
$user->setPassword($password);
$user->enforceIsNew();
$user->setEmail($userEmail);
$user->setUsername($userEmail);
$user->set("field_firstname", $form_state->getValue('user_firstname'));
$user->set("field_lastname", $form_state->getValue('user_lastname'));
$user->set("field_company", $pub_company . ' ' . $newCompanyNode->id());
$user->activate();
$user->save();
在这里找到了解决方案,尽管起初有点不同,因此令人困惑:https://drupal.stackexchange.com/questions/213379/programmatically-update-an-entity-reference-field
$user->field_company->entity = $newCompanyNode;