php - 如何从查询中获取节点

标签 php drupal drupal-8

我想从节点类型中获取字段值并对其进行更改。
我有这个代码,我不知道如何使用它:

$query = \Drupal::entityQuery('node')
  ->condition('type', 'article');
$nids = $query->execute();
$nodes = $node_storage->loadMultiple($nids);

最佳答案

EntityQuery输出是一个数组,必须在foreach循环中运行。

$query = \Drupal::entityQuery('node')
  ->condition('type', 'article'),
  ->condition('field_foo', 42); // some condition
$nids = $query->execute();
$nodes = $node_storage->loadMultiple($nids);

foreach ($nodes as $n) {
  echo $n->title->value; 

  // do whatever you would do with a node object (set fields, save, etc.)
  $n->set('title', "this is a test");
  $n->save();
}

关于php - 如何从查询中获取节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57787183/

相关文章:

javascript - 尝试编写一个基本的 echo 函数来检查 mysql 表

php - 如何在 Twig 中检查 null?

php - 通过 php shell_exec 执行 Docker 命令

drupal - 将 id 添加到 drupal 主菜单中的标签

search - Drupal 搜索引擎没有索引我的自定义节点!

css - Drupal-8,将 CSS 添加到自定义模块

sql - 这个sql注入(inject)试图做什么以及如何检查它是否有效?

php - 如何使水平导航菜单居中对齐

View 上方的 Drupal 上下文 block ?

mysql - 为什么我无法设置我的 Kalabox Drupal 站点? SQLState[Hy000] 错误