it-swarm-eu.dev

Získejte NID nově vytvořeného uzlu z entity_metadata_wrapper

Potřebuji vytáhnout nid ihned po jeho vytvoření pomocí entity_metadata_wrapper jako metody vytvoření.

Zde je krátký příklad:

$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

K získání ID můžete jednoduše použít integrovanou metodu entity_metadata_wrapper:

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

Snadný.

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

Přišel jsem na to, abych odpověděl na někoho jiného.

Aktualizace:

Odpověď výše je lepší odpověď $wrapper->getIdentifier().

Existují situace, kdy entita může mít nějaký jedinečný identifikátor.

6
inertialmedia