web-dev-qa-db-ja.com

entity_metadata_wrapperから新しく作成されたノードのNIDを取得します

作成メソッドとしてentity_metadata_wrapperを使用して作成された直後に、nidをプルする必要があります。

以下に簡単な例を示します。

$values = array(
  'type' => 'content_type',
  'uid' => $user->uid,
  'status' => 1,
  'comment' => 1,
  'promote' => 0,
);

$entity = entity_create('node', $values);
$wrapper = entity_metadata_wrapper('node', $entity);
$wrapper->title->set('title');
$wrapper->save(true);
entity_save('node', $entity); 

// From this, where can I get a NID value for the node that was just created?
10
inertialmedia

Entity_metadata_wrapperの統合メソッドを使用して、IDを取得できます。

$wrapper->getIdentifier()
27
Елин Й.

簡単です。

_ $wrapper->save();
 $node = $wrapper->value();
 dsm($node); // which has $node->nid;
_

誰かが使用するために答えると思います。

更新:

上記の答えは、より良い答え$wrapper->getIdentifier()です。

エンティティが何らかの一意の識別子を持っている場合があります。

6
inertialmedia