Я попробовал этот ответ:
https://drupal.stackexchange.com/a/298084/1082
Но я не могу использовать
'field_scientists' => $entity_reference_uuid
где в моем случае field_scientists
представляет собой поле типа UUID ссылки на сущность, которое является типом поля, предоставляемым https://www.drupal.org/project/entity_reference_uuid модуль
Что происходит для меня, так это то, что я ничего не получаю, мой массив результатов из этого примера пуст.
Я хочу сделать это программно в своем собственном модуле, а не использовать Drupal View.
Если есть другой способ, например. который использует ->запрос
метод запроса базы данных. Я был бы рад использовать этот программный подход.
Спасибо.
Обновлять
Пример UUID
из узел
в моем случае BMSSYS0000051988
.
Это было установлено при импорте миграции из поля в CSV.
Мои попытки:
1. на основе примера в другом вопросе: https://drupal.stackexchange.com/a/298084/1082
$nodes = \Drupal::entityTypeManager()->getStorage('узел')->loadByProperties([
'тип' => 'бол',
'field_parent_uuid' => $taxonkey,
]);
2. запрос БД
$query = \Drupal::entityQuery('узел')
->условие('статус', NODE_PUBLISHED)
->условие('тип', 'бол');
$and = $query->andConditionGroup();
$and->условие('field_parent_uuid', $taxonkey);
$запрос->условие($и);
$результат = $запрос->выполнить();
куда $ таксонки
является BMSSYS0000051988
обе попытки 1 и 2 выше возвращают пустой массив.
Обновление 2
вот моя конфигурация миграции, которая показывает, что uuid записывается из поля в csv. Это законно? Должен ли код разработчика изменять значение uuid или uuid должен обрабатываться только ядром Drupal?
зависимости: { }
идентификатор: bol_csv_import
класс: ноль
field_plugin_method: ноль
cck_plugin_method: ноль
migration_tags: ноль
миграция_группа: по умолчанию: общедоступные
label: 'Импорт данных о видах бол'
источник:
плагин: csv
путь: ./data/taxonomy_species_with_unpacked_bold.csv
разделитель: ','
вложение: '"'
header_offset: 0
идентификаторы:
- уид
поля:
-
имя: uuidl: publicbins
метка: 'Идентификатор NBN'
-
имя: parent_uuid
label: 'NBN идентификатор родителя'
-
имя: имя
этикетка: Имя
-
имя: ранг
этикетка: «Таксономический ранг»
-
имя: таксон_ключ
этикетка: «Ключ таксона»
-
Название: авторитет
этикетка: авторитет
-
Название: SampleRecords
лейбл: samplerecords
-
Название: пабликрекордс
лейбл: publicrecords
-
имя: пабликбинс
метка: паблики
-
Название: таксид
метка: 'Идентификатор таксона NBN'
процесс:
название: имя
ИД:
плагин: default_value
значение_по умолчанию: 1
uuid: uuid
field_parent_uuid: parent_uuid
field_taxon_key: таксон_ключ
field_authority: полномочия
field_rank: ранг
field_num_bold_barcode_specimens: образцы записей
field_num_bold_public_records: общедоступные записи
field_num_bold_public_bins: общедоступные ящики
field_bold_taxon_id: таксид
тип:
плагин: default_value
default_value: бол
пункт назначения:
плагин: 'сущность: узел'
миграция_зависимости: ноль
Обновление 3
Я напишу запрос к БД, чтобы решить эту проблему. Запуск командной строки sql указывает, что этот подход может работать:
MariaDB [db]> выберите * из узла, где nid = 246;
+-----+------+-------+----+---------- +
| нид | видео | тип | UUID | код языка |
+-----+------+-------+----+---------- +
| 246 | 248 | бол | NBNORG0000041189 | en |
+-----+------+-------+----+---------- +
1 ряд в сете (0,001 сек)