Andrew Fletcher published: 18 November 2020 1 minute read
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();