Fix for Fix for Updating a nodereference CCK field using node_save()

sepehr's picture
  1. ...
  2. // Getting current reference delta.
  3. $current_delta = db_query("SELECT delta FROM {content_field_movie_node_ref}
  4.                           WHERE vid = '%d'
  5.                           ORDER BY delta DESC
  6.                           LIMIT 1", $existing_movie->vid);
  7. $current_delta = db_result($current_delta);
  8.  
  9. // Loading movie node.
  10. $existing_movie_node = node_load($existing_movie->nid);
  11.                                        
  12. // "Appending" a node reference.
  13. $existing_movie_node->field_movie_node_ref = array($current_delta + 1 => array('nid' => $drupal_subtitle_node_id));
  14.                                        
  15. // Resaving movie node.
  16. $existing_movie_node = node_submit($existing_movie_node);
  17. node_save($existing_movie_node);
  18. content_insert($existing_movie_node);
  19.  
  20. // Clear content cache.
  21. db_query("DELETE FROM {cache_content} WHERE cid = '%s'", 'content:' . $existing_movie->nid . ':' . $existing_movie->vid);
  22. ...

Submit Fix

Any tags you'd like to associate with your code, delimitered by commas (example: Views, CCK, Module, etc).
Select the syntax highlighting mode to use.