Drupal 9: Como procurar nodes por campo ou atributo via código

Por Fernando Katsukawa, 15 Novembro, 2022

Isso também deve funcionar para Drupal 8 ou Drupal 10.

Para procurar nodes por algum campo ou atributo no Drupal é muito simples, basta executar o código abaixo no seu projeto:

use \Drupal\node\Entity\Node; 

// Get all node ids using entityQuery.
$nids = \Drupal::entityQuery('node')
  ->condition('status', 1)
  ->condition('type', 'article')
  ->sort('created', 'DESC');
  ->execute();

// Get all node objects using node ids.
$nodes = Node::loadMultiple($nids);

// Perform actions for each node.
foreach($nodes as $node) {
  $node->set('title', 'My Title');
}

// Save node.
$node->save();

Sobre o Autor

Profile picture for user fkatsukawa

Fernando Katsukawa é desenvolvedor backend senior certificado, que já trabalha a 12 anos com o Drupal e contando...

Salvei seu valioso tempo? Use o copo abaixo para me comprar um cafezinho!
buy me a coffee - cup