New to Drupal and I'm assuming the answer is simple, I've looked through the test suites etc. and still missing the point it seems. I have a node with a field collection (field_theatre_date_set) that will store a number of dates and times. I have loaded the node and the collection is there but it's empty. I have used various forms of this and an obvious problem is that the $field_collection_item_value below array structure just isn't there. Any further pointers greatly received. $loop=0; foreach($showing_array as $key=>$value){ $date='xxxx'; $time='xxxx'; $field_collection_item_value = $node->field_theatre_date_set[LANGUAGE_NONE][0]['value']; $field_collection_item = entity_load('field_collection_item', array($field_collection_item_value)); // Load that field collection item $field_collection_item->field_theatre_date_set_date[$node->language][$loop]['value'] = $date; $field_collection_item->field_theatre_date_set_time[$node->language][$loop]['value'] = $time; $loop++ } $field_collection_item->save(); /****Update*****/ Progress has been made. I still have an empty field_collection reference that needs to store a date and time. I now understand that field collections store a value and a revision_id. I now need to work out how to store these revisions. I have the following code: $field_collection_item = entity_create('field_collection_item', array('field_name' => 'field_theatre_date_set')); $field_collection_item->setHostEntity('node', $node); $field_collection_item->date[LANGUAGE_NONE][]['date'] = $date; $field_collection_item->field_description[LANGUAGE_NONE][]['time'] = $time; $field_collection_item->save(); Now when I output the field_collection_item I see the following where I am expecting to see the the value and revision: [field_theatre_date_set] => Array ( [und] => Array ( [0] => Array ( [entity] => FieldCollectionItemEntity Object *RECURSION* ) ) ) And at the very bottom of the array I have the dates and times wallowing on their own: [date] => Array ( [und] => Array ( [0] => Array ( [date] => 2014-03-13 ) ) ) [time] => Array ( [und] => Array ( [0] => Array ( [time] => 19:45:00 ) ) ) Any pointers on how to move them into my field_theatre_date_set if they aren't expecting date and time values? Thanks all for looking!