При работе с сущностями в Drupal нередко возникает задача: из ссылочного поля (entity reference) нужно достать список ID связанных объектов.
Например, у нас есть нода с полем field_other_exclusions. Если вывести его содержимое через getValue(), мы получим массив массивов:
| 
					 1 2 3 4 5 6 7  | 
						$node->get('field_other_exclusions')->getValue(); // Результат: [   0 => ['target_id' => '26'],   1 => ['target_id' => '5'], ]  | 
					
На первый взгляд придётся перебирать этот массив циклом, чтобы собрать только target_id. Но на практике есть несколько более изящных решений.
Функция array_column
Самый короткий способ на чистом PHP — использовать array_column:
| 
					 1 2 3  | 
						$ids = array_column($node->get('field_other_exclusions')->getValue(), 'target_id'); // $ids = ['26', '5']  | 
					
Это каноничный приём, который часто встречается в Drupal-коде.
Функция referencedEntities
Если вам нужны не только ID, а сами объекты, используйте метод referencedEntities():
| 
					 1  | 
						$entities = $node->get('field_other_exclusions')->referencedEntities();  | 
					
А список ID можно получить одной строкой:
| 
					 1  | 
						$ids = array_map(fn($entity) => $entity->id(), $entities);  | 
					
Комбинированный вариант
Если нужно компактно и с проверкой:
| 
					 1 2 3  | 
						$ids = $node->get('field_other_exclusions')->isEmpty()   ? []   : array_column($node->field_other_exclusions->getValue(), 'target_id');  | 
					
