edgar.dueñas
Enviado por edgar.dueñas el Mié, 11/05/2016 - 11:29


Consulta de usuarios por roles. Para consultar usuarios por roles se puede realizar de dos formas, una es utilizando EntityFieldQuery() y la segunda es utilizando $db_query, la segunda opción es la recomendada por utilizar menoS recursos del sistema para su ejecución, OPCION NO. 1 entityCondition('entity_type', 'user') ->propertyCondition('status', 1) ->execute(); dpm($result['user']); foreach ($result['user'] as $one_user) { $user_record = user_load( $one_user->uid ); if( !empty($user_record->roles[6]) ) { dpm($user_record); } } ?>
OPCION NO. 2 array(1,2,3))); $uids = $result->fetchCol(); $users = user_load_multiple($uids); ?>
Esta consulta es mas avanzada, porque existe una unión con otra tabla que almacena un campo custom dentro del profile del usuario, en mi caso en profile del usuario he creado un campo llamado field_clientes de tipo taxonomy reference donde almaceno el tid del cliente. $arrayRole, ':ctid' => $arrayCtid)); $uids = $result->fetchCol(); $users = user_load_multiple($uids); $listUsers = array(); foreach ($users AS $i => $user_record) { if ($user_record->status == "1") { dpm($user_record); $listUsers[$i] = $user_record->field_nombres['und'][0]['value'] . " " . $user_record->field_apellidos['und'][0]['value'] . " <" . $user_record->mail . ">"; } } dpm($listUsers); ?>