Drupal 7删除节点的字段集合


Drupal 7 Delete field collection for node

我刚刚找到一个脚本,以编程方式删除字段集合到特定节点:

<?php
  $node = node_load(1);
  $field_collection_item_value = $node->field_page_collection1[LANGUAGE_NONE][0]['value']; // Take field collection item value.
  entity_delete_multiple('field_collection_item', array($field_collection_item_value)); // Delete field collection item.
?>

不幸的是,我看到它,它只删除第一个字段集合,我需要选择哪一个我想删除。

下面是我的结构:

多个字段集合,包含:对另一个节点的引用和两个select

我在url中有引用nid,所以我可以使用它,但我不知道如何选择正确的字段集合。

谢谢

试着用这个:

$node = node_load(1);
$searhed_nid = '2';
$field_page_collection1 = field_get_items('node', $node, 'field_page_collection1');
foreach ($field_page_collection1 as $item) {
  $field_collection = entity_load_single('field_collection_item', $item['value']);
  $fc_item_wrapper = entity_metadata_wrapper('field_collection_item', $field_collection);
  // lets take name the field with ref field_ref_nid.
  $field_val = $fc_item_wrapper->field_ref_nid->raw();
  if ($field_val == $searhed_nid) {
    $field_collection->delete();
  }
}