我如何 insert/update 外部 table 同时执行 node_save

How can I insert/update external table while do a node_save

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

那么在我们调用 node_save 功能时,有什么方法可以插入到这个自定义 table 中吗?也可以在我们调用 node_load 功能时调用这些细节吗?

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

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();
  }