If I've created a node in an install hook, how can I immediately get a reference to the nid
property? It doesn't appear to be set on the entity during save.
use Drupal\node\Entity\Node;
function my_frontpage_install() {
$node = Node::create(array(
'type' => 'page',
'title' => t('Welcome'),
'body' => array(array(
'value' => 'Hi there'
)),
));
$node->save();
$siteConfig = \Drupal::service('config.factory')->getEditable('system.site');
$pageConfig = $siteConfig->get('page');
$pageConfig['front'] = 'node/' . $node->getId(); // this returns null
$siteConfig->set('page', $pageConfig);
$siteConfig->save();
}
I've tried variations on the theme of getId
, getNid()
, get('nid')
, getOriginalId()
, but if I dump out the node object afer saving, the nid property is clearly not set.
$node->id()
.