Php 设置其filedcollection DRUPAL后无法保存节点
有这样的结构: 节点 ->字段\u服务器\u支持的\u硬件字段集合 ->字段\u硬件\u项目节点参考宽度复选框列表 我想在字段\u hardware\u items中再添加一个项目检查CKCKBOXList中的另一个项目 这是我的代码,它不会抛出错误,但我无法保存更改:Php 设置其filedcollection DRUPAL后无法保存节点,php,drupal,drupal-7,entity,Php,Drupal,Drupal 7,Entity,有这样的结构: 节点 ->字段\u服务器\u支持的\u硬件字段集合 ->字段\u硬件\u项目节点参考宽度复选框列表 我想在字段\u hardware\u items中再添加一个项目检查CKCKBOXList中的另一个项目 这是我的代码,它不会抛出错误,但我无法保存更改: $node_wrap = entity_metadata_wrapper('node', $node_id); // our node wrapper $node_wrap->field_server_supported
$node_wrap = entity_metadata_wrapper('node', $node_id); // our node wrapper
$node_wrap->field_server_supported_hardware[$key_item]->field_hardware_items->offsetSet($new_key, $new_node_item_to_attach); // setting new item
___save_debug($node_wrap->field_server_supported_hardware[$key_item]->field_hardware_items->value()); // if I log "field_hardware_items", it includes new item, and includes it in correct structure.
$node_wrap->save(TRUE); // trying to save node
然后,我打开我在管理员面板中保存的节点,但是id为$new\u node\u item\u to\u attach的节点的复选框未选中。在保存之前尝试$node\u wrap->revision->setTRUE 显然,save函数没有考虑在更新时在节点上创建新修订的标志,因此这可能是您没有看到更改的原因