Điểm:1

Làm cách nào tôi có thể tải đối tượng gói của thực thể từ thực thể đã tải?

lá cờ in

Nếu tôi muốn lấy đối tượng gói của một thực thể, với một nút, tôi có thể làm điều gì đó như:

$bundle_object = \Drupal::entityTypeManager()
  ->getStorage('node_type')
  ->load($node->bundle());

Nhưng điều này có vẻ hơi dài dòng. Có cách nào để lấy đối tượng trực tiếp từ một thực thể không? Cái gì đó như $entity->getBundleObject()?

lá cờ cn
Tôi nghi ngờ rằng bạn sẽ tìm thấy một phương thức chung cho việc này, chứ không phải một phương thức trên ContentEntityType cốt lõi - các gói là tùy chọn nên không phải lúc nào cũng có một đối tượng để cung cấp
lá cờ cn
@Clive là chính xác, nếu bạn muốn rút ngắn điều này, bạn có thể tạo [Trình xử lý lưu trữ] mới(https://chromatichq.com/insights/creating-and-using-entity-storage-methods)
sonfd avatar
lá cờ in
Ok, cảm ơn mọi người. Tôi đã không nhìn thấy một cái nên tôi nghĩ đó là trường hợp, nhưng chưa bao giờ thực sự cảm thấy tuyệt vời về cách tôi dán nhãn cho nó.
Điểm:1
lá cờ cn

Trường gói là trường tham chiếu và bạn có thể tải đối tượng gói thông qua thuộc tính trường thực thể:

$node_type = $node->type->entity;

Chung chung hơn cho bất kỳ thực thể nội dung nào:

if ($entity->getEntityType()->hasKey('bundle')) {
  $bundle = $entity->get($entity->getEntityType()->getKey('bundle'))->entity;
}
apaderno avatar
lá cờ us
Thay vì gọi `$entity->getEntityType()->hasKey('bundle')` rồi `$entity->getEntityType()->getKey('bundle')`, mã chỉ có thể gọi `$entity-> getEntityType()->getKey('bundle')` sẽ trả về `FALSE` khi khóa không tồn tại và tên khóa khi khóa đó tồn tại.
4uk4 avatar
lá cờ cn
Có, phương thức *ha* không thực sự cần thiết và có thể bị loại bỏ. Nhưng rất nhiều người sử dụng chúng để làm cho mã dễ đọc hơn.
4uk4 avatar
lá cờ cn
Như @Clive đã nhận xét, rõ ràng rằng các gói đó là tùy chọn. Nếu loại thực thể có các gói, khóa gói phải được chỉ định.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.