function hook_node_insert

Respond to creation of a new node.

This hook is invoked from node_save() after the database query that will insert the node into the node table is scheduled for execution, after the type-specific hook_insert() is invoked, and after field_attach_insert() is called.

Note that when this hook is invoked, the changes have not yet been written to the database, because a database transaction is still in progress. The transaction is not finalized until the save operation is entirely completed and node_save() goes out of scope. You should not rely on data in the database at this time as it is not updated yet. You should also note that any write/update database queries executed from this hook are also not committed immediately. Check node_save() and db_transaction() for more info.

Parameters

Drupal\node\Node $node: The node that is being created.

Related topics

13 functions implement hook_node_insert()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

book_node_insert in drupal/core/modules/book/book.module
Implements hook_node_insert().
comment_node_insert in drupal/core/modules/comment/comment.module
Implements hook_node_insert().
entity_crud_hook_test_node_insert in drupal/core/modules/system/tests/modules/entity_crud_hook_test/entity_crud_hook_test.module
Implements hook_node_insert().
forum_node_insert in drupal/core/modules/forum/forum.module
Implements hook_node_insert().
menu_node_insert in drupal/core/modules/menu/menu.module
Implements hook_node_insert().

... See full list

3 invocations of hook_node_insert()
ConfigStorageController::save in drupal/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php
Implements Drupal\Core\Entity\EntityStorageControllerInterface::save().
DatabaseStorageController::save in drupal/core/lib/Drupal/Core/Entity/DatabaseStorageController.php
Implements Drupal\Core\Entity\EntityStorageControllerInterface::save().
DatabaseStorageControllerNG::save in drupal/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php
Overrides DatabaseStorageController::save().

File

drupal/core/modules/node/node.api.php, line 528
Hooks provided by the Node module.

Code

function hook_node_insert(Drupal\node\Node $node) {
  db_insert('mytable')
    ->fields(array(
    'nid' => $node->nid,
    'extra' => $node->extra,
  ))
    ->execute();
}