php - Yii 用户管理,显示用户个人资料信息

标签 php yii yii-extensions

您好,我正在使用 yii 和 yii-user-management 扩展

我可以看到获取存储在用户表中的一些当前记录的用户信息是多么简单(例如 Yii::app()->user->name)

但是我想知道如何获取当前登录用户的相关数据(例如存储在配置文件表中的用户电子邮件)

在 YumUser.php 模型文件中有一个关系

$relations['profile'] = array(self::HAS_ONE, 'YumProfile', 'user_id');

但是我不确定如何直接在 View 文件中使用它

最佳答案

我相信 YUM 文档建议了一种更简洁的方法。 YumWebUser 中有一个 data() 方法,可以从 WebUser 实例访问用户模型:

// Use this function to access the AR Model of the actually
// logged in user, for example
public function data() {
    if($this->_data instanceof YumUser)
        return $this->_data;
    else if($this->id && $this->_data = YumUser::model()->findByPk($this->id))
        return $this->_data;
    else
        return $this->_data = new YumUser();
}

所以,您应该能够简单地使用:

<?php echo Yii::app()->user->data()->profile->firstname; ?>
<?php echo Yii::app()->user->data()->profile->email; ?>

关于php - Yii 用户管理,显示用户个人资料信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16610423/

相关文章:

php - 防止在没有事件数据库连接的情况下使用 mysql_real_escape_string 时出现错误

php - 想根据表格中的某个字段显示CGridview,并在显示时区分它们?

php - 是否可以传递一个计数值到 CListView 中查看并更新到 YII 中 itemView 的每次调用

php - 在 yii2 中显示多个相关数据

php - 无法使用 ckeditor 配置 ckfinder

php - 样式时排除特定元素

php - 如何使用 Yii 创建带有确认对话框的链接?

jquery - 如何使用 yii 以持久的方式显示基于下拉列表的动态代码?

yii - 根据选择的单选按钮验证模型

php - 单元测试 : Specific testing & Flow of Control