Дано $ sid - ваш ідентифікатор підпункту:
$entity_subqueue = \Drupal::entityManager()->getStorage('entity_subqueue')->load($sid);
Завантажує об'єкт підпункту. Ви можете маніпулювати цим, щоб отримати або оновити свою суб’єктну чергу.
Щоб отримати елементи:
$items = $entity_subqueue->get('items')->getValue();
Щоб оновити елементи, додайте ще один елемент до масиву $ items та збережіть об'єкт сутності:
$items[] = ['target_id' => 69];
$entity_subqueue->set('items', $items);
$entity_subqueue->save();
Вуаля!
Ви можете перевірити, що в базі даних оновлено чергу вашої сутності:
select * from entity_subqueue__items where bundle = :sid;
Я також хочу додати, що в Drupal 8 є чудова альтернатива використанню entqueue: модуль Config Pages . Це дозволяє створювати сукупності сутностей, які мають лише одне ціле. Потім ви можете додати будь-який тип поля, який вам подобається, включаючи посилання посилань на сутність. Нещодавно я замінив чергу об'єктів у проекті на сторінку конфігурації з посилальним полем сутності, і я віддав перевагу користувальницькій роботі.