Yii通过id获取用户

时间:2015-01-18 04:46:04

标签: php yii

我正在创建一个小部件,其中用户列表仅将我作为成员返回,而不是通过提供的ID查找用户。

这是基于Yii的HumHub。

    <?php
        foreach($members as $member) {
            echo 'Searching for user: ' . $member['user_id'] . '<br />';
            $spaceUser = User::model()->find($member['user_id']);
    ?>
        <a href="<?php echo $spaceUser->getProfileUrl(); ?>"> 
            <img src="<?php echo $spaceUser->getProfileImage()->getUrl(); ?>" class="media-object space-widget-member-image img-rounded pull-left" style="width: 24px; height: 24px;" alt="24x24" data-src="holder.js/24x24" data-toggle="tooltip" data-placement="top" title="" 
            data-original-title="<strong><?php echo $spaceUser->displayName; ?></strong><br><?php echo $spaceUser->profile->title; ?>" />
        </a>
    <?php
        }
    ?>

输出

Searching for user: 1
Searching for user: 2

http://i.imgur.com/5Fclukv.png

2 个答案:

答案 0 :(得分:3)

如果您的模型包含主键

,请尝试使用findByPk()方法以这种方式从 USER 模型中获取结果

$spaceUser = User::model()->findByPk($member['user_id']));

哪个会找到基于$ member ['user_id']提供的成员。顺便说一下, 您使用过的findByAttributes()方法也很适合根据属性获取结果。

查看更多:http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findByPk-detail

答案 1 :(得分:0)

我没有使用正确的功能。

$spaceUser = User::model()->findByAttributes(array('id'=>$member['user_id']));

将根据提供的属性找到成员。