Tôi nghĩ rằng đây là một nhiệm vụ dễ dàng, nhưng dường như không có phương pháp Drupal nào cho việc này. Tôi đã đi xa đến mức biết rằng tôi phải sử dụng EntityFieldQuery
cho việc này - vì API cho biết các điều kiện user_load_multiple()
không được chấp nhận.
Vì vậy, tôi đã thử điều này:
$query = new EntityFieldQuery;
$query
->entityCondition('entity_type', 'user')
->propertyCondition('rid',array(1,2,3);
$result = $query->execute();
Nhưng tôi đã nhận được điều này:
PDOException: SQLSTATE [42S22]: Không tìm thấy cột: 1054 Cột không xác định 'users.rid' trong 'mệnh đề where': SELECT users.uid AS entity_id ,: entity_type AS entity_type, NULL AS revision_id ,: bundle AS bundle TỪ {users} WHERE (users.rid =: db_condition_placeholder_0); Mảng ([: db_condition_placeholder_0] => 3 [: entity_type] => user [: bundle] => user) trong EntityFieldQuery-> exec ()
Vì vậy, suy nghĩ đầu tiên của tôi là, tôi phải tham gia với users_roles
-Table và cứ thế, nhưng điều đó sẽ dẫn đến sự trùng lặp.
Có ai có một ý tưởng làm thế nào để làm điều đó?
->propertyCondition('rid', array(1, 2, 3))
;