Yii 通过 id 获取用户

Yii get user by id

我正在创建一个小部件,其中用户列表仅将我作为成员返回,而不是通过提供的 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

我没有使用正确的功能。

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

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

如果您的模型包含主键

,请尝试使用 findByPk() 方法从您的 USER 模型中获取结果
$spaceUser = User::model()->findByPk($member['user_id']));

其中会根据$member['user_id']supplied.By的方式查找会员, 您使用的 findByAttributes() 方法也是根据属性获取结果的好方法。

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