我有一个SQL查询,列出了具有特定角色的所有用户的uid
:
SELECT u.uid
FROM {users} as u, {users_roles} as ur
WHERE u.uid = ur.uid AND ur.rid = 10 ORDER BY u.uid DESC
我需要将它们全部加载到数组中作为列表对象。
我问question previously只留下答案,我想做的事情会更容易完成没有视图 - 所以我将改用模板文件。<登记/> 因此这个问题。
我知道怎么做,但显然是method is worth -2
这就是我想要的方式:
$research['sql'] = "SELECT u.uid FROM {users} as u, {users_roles} as ur WHERE u.uid = ur.uid AND ur.rid = 10 ORDER BY u.uid DESC";
$research['sql_result'] = db_query($alumni['sql']);
// Load user objects and store in array
while($user_array = db_fetch_array($research['sql_result'])) {
// Create user objets based on uid
$user_obj = user_load($user_array['uid']);
// Load profile
profile_load_profile($user_obj);
$research['users'][$user_obj->uid] = $user_obj;
}
请帮助我应该这样做。
答案 0 :(得分:1)
我的基本方法看起来很好,除了对profile_load_profile()
的调用是多余的:
user_load()
函数将使用'load'操作调用hook_user
,并且配置文件模块实现hook_user
并为加载操作本身调用profile_load_profile()
,所以到时候你明确地调用它,它已被隐式调用,你可以放弃它。