【问题标题】:add some custom information to node drupal 8向 node drupal 8 添加一些自定义信息
【发布时间】:2020-03-20 18:11:22
【问题描述】:

我需要使用每次用户访问页面时插入的新值来更新我的引用实体。我尝试使用此代码,但不幸的是,后者不会添加值而是替换所有值。我附上了我使用的代码,希望有人可以帮助我解决这个问题。谢谢

nodeObj = Node::load(implode($nids));
    $nodeObj->set('my_field', $current_user_id);
    $nodeObj->save(); 

【问题讨论】:

    标签: drupal drupal-8 drupal-nodes


    【解决方案1】:

    如果我正确理解您的问题,您的代码将覆盖 my_field 的整个值,而不是附加一个新值。此外,implode()$nids 变量向我表明您可能正在尝试同时在多个节点上执行此功能,而您当前的代码不会这样做。

    1. 确保my_field 是某种ItemList 字段。
    2. 试试这个代码:
    $nodeObjs = Node::loadMultiple($nids);
    foreach ($nodeObjs as $nodeObj) {
       $nodeObj->my_field->appendItem($current_user_id);
       $nodeObj->save();
    }
    
    

    【讨论】:

      猜你喜欢
      • 2019-06-30
      • 2016-10-05
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多