如何通过 SQL 将分类术语直接添加到节点?
我用了:
db_query("INSERT INTO {term_node} (nid, vid, tid) VALUES ( " . $row['nid'] . "," . $the_term->vid . "," . $row['next_tid'] . ")" );
值$row['nid']
,$the_term->vid
和$row['next_tid']
是正确的;但节点中仍然没有出现任何术语。
如何通过 SQL 将分类术语直接添加到节点?
我用了:
db_query("INSERT INTO {term_node} (nid, vid, tid) VALUES ( " . $row['nid'] . "," . $the_term->vid . "," . $row['next_tid'] . ")" );
值$row['nid']
,$the_term->vid
和$row['next_tid']
是正确的;但节点中仍然没有出现任何术语。
与其直接写入数据库,不如调用 taxonomy_node_save() 方法:http ://api.drupal.org/api/drupal/modules!taxonomy!taxonomy.module/function/taxonomy_node_save/6
通过这种方式,您可以确保不会遗漏该函数所做的任何其他步骤(即使小到最后的“刷新术语缓存”。:-)
让我知道这是否可行!
你们在谈论Drupal 7吗?在这种情况下,您应该考虑至少另外两个表。Drupal 7 中的 CCK 为每个字段创建两个表:field_data_field_<fieldname>
和e field_revision_field_<fieldname>