Cho $ sid là id cấp dưới của bạn:
$entity_subqueue = \Drupal::entityManager()->getStorage('entity_subqueue')->load($sid);
Tải đối tượng subqueue. Bạn có thể thao tác điều này để lấy hoặc cập nhật thực thể của bạn.
Để có được các mặt hàng:
$items = $entity_subqueue->get('items')->getValue();
Để cập nhật các mục, thêm một mục khác vào mảng $ items và sau đó lưu đối tượng thực thể:
$items[] = ['target_id' => 69];
$entity_subqueue->set('items', $items);
$entity_subqueue->save();
Voila!
Bạn có thể kiểm tra trong cơ sở dữ liệu rằng hàng đợi thực thể của bạn được cập nhật:
select * from entity_subqueue__items where bundle = :sid;
Tôi cũng muốn nói thêm rằng có một sự thay thế tuyệt vời cho việc sử dụng thực thể trong Drupal 8: mô-đun Cấu hình trang . Nó cho phép bạn tạo các gói thực thể chỉ có một thực thể. Sau đó, bạn có thể thêm bất kỳ loại trường nào bạn thích, bao gồm các trường tham chiếu thực thể. Gần đây tôi đã thay thế một hàng đợi thực thể trên một dự án bằng một trang cấu hình bằng trường tham chiếu thực thể và tôi thích trải nghiệm người dùng hơn.