Вы можете использовать приведенный ниже код, чтобы сделать то же самое: это всего лишь пример, пожалуйста, используйте имя компьютера типа содержимого и коллекцию полей тщательно.
$nid = 1234; //Dummy Value
//loading node based on nid
$node = \Drupal\node\Entity\Node::load($nid);
//Here I used field_collection_first_field as machine name of the field collection name on your content type
if(!($node->get('field_collection_first_field')->isEmpty())){
//Field collection 1
$fcID1 = $node->get('field_collection_first_field')->getValue()[0]['value'];
if(!empty($fcID1)){
$fc1 = \Drupal\field_collection\Entity\FieldCollectionItem::load($fcID);
$fcFieldValue = $fc1->get('field_comments')->getValue()[0]['value'];
}
}
if(isset($fcFieldValue)){
if(!($node->get('field_collection_second_field')->isEmpty())){
//Field collection 2
$fcID1 = $node->get('field_collection_second_field')->getValue()[0]['value'];
if(!empty($fcID1)){
$fc2 = \Drupal\field_collection\Entity\FieldCollectionItem::load($fcID);
$fc->set('field_comments',$fcFieldValue);
if(!($fc->save())){
echo 'success'; //Work Done
}
}
}
}
Если у вас возникнут какие-либо другие проблемы, пожалуйста, дайте мне знать