我需要使用每次用户访问页面时插入的新值来更新我的引用实体。我尝试使用此代码,但不幸的是,后者不会添加值而是替换所有值。我附上了我使用的代码,希望有人可以帮助我解决这个问题。谢谢你
nodeObj = Node::load(implode($nids));
$nodeObj->set('my_field', $current_user_id);
$nodeObj->save();
我需要使用每次用户访问页面时插入的新值来更新我的引用实体。我尝试使用此代码,但不幸的是,后者不会添加值而是替换所有值。我附上了我使用的代码,希望有人可以帮助我解决这个问题。谢谢你
nodeObj = Node::load(implode($nids));
$nodeObj->set('my_field', $current_user_id);
$nodeObj->save();
如果我正确理解您的问题,您的代码将覆盖整个值my_field
而不是附加新值。此外,implode()
和$nids
变量向我建议您可能正在尝试一次在多个节点上执行此功能,而您当前的代码不会这样做。
my_field
是某种ItemList字段。$nodeObjs = Node::loadMultiple($nids);
foreach ($nodeObjs as $nodeObj) {
$nodeObj->my_field->appendItem($current_user_id);
$nodeObj->save();
}