代码之家  ›  专栏  ›  技术社区  ›  Robert Mark Bram

获取具有管理员角色的所有用户的电子邮件地址

  •  0
  • Robert Mark Bram  · 技术社区  · 14 年前

    我们使用的是dotcms 1.7a,我很难获得管理员角色用户的电子邮件地址。

    此SQL作品:

       select user_.emailaddress
       from user_
       INNER JOIN users_roles
       ON users_roles.userid = user_.userid
       INNER JOIN role_
       ON users_roles.roleid = role_.roleid
       where role_.name = 'Administrator';
    

    但是这个速度代码没有:

       <p>Start</p>
       #set($found = $cmsuser.searchUsersAndUsersProxy(null, null, null, [], true,
       ["Administrator"], true, null, 1, 0))
       <p>Finish</p>
       <p>Found: $found [$found.size()].</p>
       #set($theUsers = $found.get("users"))
       <p>Got theUsers: $theUsers [$theUsers.size()].</p>
    

    上述代码的输出为:

       Start
       Finish
       Found: {total=22, usersProxy=[], users=[], groupNames=[], roleNames=[]} [5].
       Got theUsers: [] [0].
    

    怎么了?任何帮助都将不胜感激!

    抢劫 :)

    2 回复  |  直到 14 年前
        1
  •  0
  •   serg    14 年前

        2
  •  0
  •   Robert Mark Bram    14 年前

    #set($found = $cmsuser.searchUsersAndUsersProxy(null, null, null, [], false,
    ["Administrator"], true, null, 1, 1000))
    <p>Found $found.get("users").size() Administrator users.</p>
    #set($theUsers = $found.get("users"))
    #foreach ($user in $theUsers)
    $user.fullName ($user.emailAddress)<br>
    #end
    

    $cmsuser.searchUsersAndUsersProxy()