2017-01-20 7 views
2

にはどうすればいいのDrupal 8にprogrammaticalllyノードエンティティ参照を作成するのですか? 私は「会社のノードを作成し、ユーザーアカウントを作成し、カスタムフォームを持って、ユーザーアカウントは、ノードの同社へのリンク実体参照であるフィールド「field_company」を有します。では、新規作成したノード参照を新しいユーザのfield_companyフィールドに保存するにはどうすればよいですか?Drupalの8 - どのようにプログラムでノードのエンティティ参照変数を作成するには?

field_company entity reference

http://pastebin.com/iX7yAaeY

これは動作し、また自身での$ pub_companyまたは$ newCompanyNode->のid()を実行しません。

$user->set("field_company", $pub_company . ' ' . $newCompanyNode->id()); 

の$ pub_companyは会社名です

$ newCompanyでフル新しく作成されたノード

$ newCompanyNode-> 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(); 
新しく作成された「会社のノードIDを保持します最初は少し異なるので、混乱が

答えて

関連する問題