0

内容类型:- 视频显示

字段:- 视频名称(类型:字符串)、视频(类型:视频嵌入字段)、艺术家(类型:节点参考字段)

用户已经创建了 VideoDisplay 类型的记录。现在根据要求,我可以向现有视频添加更多艺术家。

所以我采取这种方法: -

$node_vids = node_load($videoId);
$node_vids->field_artist[LANGUAGE_NONE] = array(
               0 => array('nid' => $form_state['values']['nid']));
$node = node_submit($node_vids);
node_save($node);

但它给了我错误说:

SQLSTATE [23000]:违反完整性约束:1062 键 'PRIMARY' 的重复条目 'node-143-0-0-und'

在 Video(Type:Video Embed Field) 中插入数据时出现此错误。但在这里我只想保存 Artist(Type : Node Reference Field) 字段。我知道 node_save 实际上保存了 Content Type 的所有属性。

搜索网络后,我尝试使用field_attach_update()但它再次抛出相同的异常。请让我知道解决此问题的任何解决方案。

4

1 回答 1

0

Drupal 公开的field_sql_storage_field_storage_write()函数有助于仅更新所需的单个字段。调用它不会调用任何钩子。

于 2014-11-03T14:32:57.350 回答