Điểm:1

Nhận giá trị trường từ nhiều thực thể cùng một lúc

lá cờ ar

Tôi có một trang Drupal sử dụng đoạn văn trong đó một trong các loại nội dung, hãy gọi nó là Tập đoàn, có thể chứa bất kỳ số lượng đoạn văn nào và mỗi đoạn văn này, hãy gọi chúng là Các thành viên, chứa tham chiếu đến người dùng. tôi muốn có được tất cả uids của người dùng đó là Các thành viên của một Tập đoàn.

tôi có thể thực hiện điều này với một truy vấn của cơ sở dữ liệu như

CHỌN field_user_target_id
TỪ đoạn__field_user
WHERE thực thể_id = (
    CHỌN trường_thành viên_đích_id
    TỪ node__field_members
    WHERE entity_id = <ID nhóm>
    GIỚI HẠN 1
);

để cho Id nhóm, nhưng tôi tự hỏi liệu có cách nào để thực hiện việc này một cách hiệu quả mà không cần truy vấn trực tiếp cơ sở dữ liệu hay không. Một tùy chọn sẽ giống như

$group = \Drupal\node\Entity\Node::load($groupID);
$uids = [];
foreach ($group->field_members->referencedEntities() với tư cách là $member) {
    $uids[] = $member->field_user->target_id;
}

nhưng có cách nào để làm điều này mà không cần phải lặp qua Các thành viên?

Điểm:3
lá cờ cn

Vòng lặp foreach là cách tôi sẽ thực hiện, nhưng theo quan điểm của bạn, một truy vấn thường sẽ hiệu quả nhất. Điều này áp dụng về mặt kỹ thuật trong bất kỳ tình huống nào mà bạn có một lớp API ở giữa. Nếu bạn muốn tạo một truy vấn, bạn có thể làm như vậy, nhưng nhìn chung là không bắt buộc. Khi định hình ứng dụng của bạn, nếu khu vực này trở thành nút cổ chai, thì đó là lúc tôi bắt đầu cân nhắc làm điều gì đó tương tự. Lưu ý rằng việc sử dụng API xử lý những thứ như bản sửa đổi và tất cả những thứ khác.

Nhìn thấy Drupal 8: làm cách nào tôi có thể "tải háo hức" Các thực thể được tham chiếu qua trường EntityReferenceFieldItemList để biết thêm chi tiết.Trong bài viết đó họ giải thích rằng bằng cách sử dụng tham chiếuEntities() tải các thực thể đó vào bộ nhớ, vì vậy đây không phải là các lần truy cập riêng lẻ trên cơ sở dữ liệu.

Đă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.