Skip to main content

Loading the node

To query the node, I prefer to create a series of functions to mange the process in a class.  However, keeping this simple, this can be achieved through:

$node = \Drupal\node\Entity\Node::load($nid);

Otherwise if you require to load multiple nodes, where the list of node.nids is in an array.

$nodes = \Drupal::entityTypeManager()->getStorage('node');

$this->list = $nodes->loadMultiple($this->nids);

 

Whereas, if you are looking to query the node database for nid(s)

$this->query = \Drupal::entityQuery('node');

// limit the query to a type

if (!is_null($this->entity_type)) {

  $this->query->condition('type', $this->entity_type);

}

// debug the query

// $this->query->addTag('debug');

// execute the query

$nids = $this->query->execute();

 

Using the node data

Accessing the loaded node values is via the following queries:

$node->get("field_name")->getValue();

Loading common variables such as the title or did you can shorten the query:

$nid = $node->id();

$title = $node->label();

or

$title = $node->getTitle();

 

Related articles