Drupal: как получить список target_id из ссылочного поля без перебора массива

При работе с сущностями в Drupal нередко возникает задача: из ссылочного поля (entity reference) нужно достать список ID связанных объектов.

Например, у нас есть нода с полем field_other_exclusions. Если вывести его содержимое через getValue(), мы получим массив массивов:

На первый взгляд придётся перебирать этот массив циклом, чтобы собрать только target_id. Но на практике есть несколько более изящных решений.

Функция array_column

Самый короткий способ на чистом PHP — использовать array_column:

Это каноничный приём, который часто встречается в Drupal-коде.

Функция referencedEntities

Если вам нужны не только ID, а сами объекты, используйте метод referencedEntities():

А список ID можно получить одной строкой:

Комбинированный вариант

Если нужно компактно и с проверкой:

Мало букафф? Читайте есчо !

VK Video: интегрируем как oembed provider source в Drupal

Апрель 12, 2025 г.

Еще один oembed провайдер, который мне понадобился не давно - VK VIDEO. Нужно было интегрировать видео с ВКонтакте в медиа библиотеку Drupal. Если ...

Читать

Эффективное кеширование по доступу к ноде: параметрический Cache Context в Drupal

Июль 26, 2025 г.

Когда мы используем кеширование в Drupal, типичный подход — добавить user в список контекстов: ['user']. Это означает, что для каждого пользователя будет ...

Читать

Проброс переменных из PHP в JS (в Drupal) с использованием js_settings_alter

Ноябрь 14, 2025 г.

В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах. ...

Читать

Добавление произвольных требований при установке модуля в Drupal

Май 7, 2025 г.

Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...

Читать
 

Комментарии к «Drupal: как получить список target_id из ссылочного поля без перебора массива»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: