2

I need to update my referential entity with new values ​​that are inserted every time a user visits the page. I tried to use this code but unfortunately, the latter does not add a value but replaces all of them. I am attaching the code that I used in the hope that someone can help me with this problem. thank you

nodeObj = Node::load(implode($nids));
    $nodeObj->set('my_field', $current_user_id);
    $nodeObj->save(); 
King Greg
  • 25
  • 5

1 Answers1

0

If I understand your issue correctly, your code is overwriting the entire value of my_field rather than appending a new value. Also, the implode() and the $nids variable suggest to me that you may be trying to perform this function on multiple nodes at once, which your current code will not do.

  1. Make sure my_field is an ItemList field of some kind.
  2. Try this code:
$nodeObjs = Node::loadMultiple($nids);
foreach ($nodeObjs as $nodeObj) {
   $nodeObj->my_field->appendItem($current_user_id);
   $nodeObj->save();
}

Isaiah Nixon
  • 320
  • 1
  • 10