Last updated September 18, 2014. Created on June 3, 2013.
Edited by reallifedesign, oadaeh, pandaPowder, nerdcore. Log in to edit this page.

Presuming you have the Entity API module installed, let's say you created an entity type called "Contact" [contact] and a bundle called 'contact_simple'.

Creating new entities is easy as:

<?php
  $entity_type
= 'contact';
 
$entity = entity_create($entity_type, array('type' => 'contact_simple'));
 
$wrapper = entity_metadata_wrapper($entity_type, $entity);
?>

Once the entity is created you can change its properties:

<?php
$wrapper
->uid = 9;
?>

And any attached field:

<?php
$wrapper
->field_full_name->set("John doe");
?>

Alternatively, you can set field values directly as the EntityMetadataWrapper class (provided by EntityAPI) implements PHP's magic __set() method. For example:

<?php
$wrapper
->field_full_name = "John doe";
?>

That's it. Just remember save it:

<?php
$wrapper
->save();
?>

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.

Comments

pandaPowder’s picture

Thank you, thank you! Now my module doesn't need it's own schema and I can harness all the exciting stuff entities has to offer such as views integration and pagination and caching etc...