如何在执行node_save时插入/更新外部表

时间:2018-02-23 06:48:18

标签: drupal-7 node-save

我需要保存关于node的两个详细信息,但我不想以传统方式这样做(我不想使用field_data表)。我想创建一个包含nid as foreign key的新表和包含详细信息的两列。

在我们调用node_save功能时,有没有办法插入这个自定义表?我们还可以在调用node_load功能时调用这些详细信息吗?

1 个答案:

答案 0 :(得分:4)

您可以使用drupal hook进行自定义表更新或插入新行,如

function hook_insert($node) {
     db_insert('mytable')
        ->fields(array(
        'nid' => $node->nid,
        'extra' => $node->extra,
      ))->execute();

    $num_updated = db_update('node') // Table name no longer needs {}
      ->fields(array(
        'uid' => 5,
        'status' => 1,
      ))
      ->condition('nid', $node->nid)
      ->execute();
  }