严重问题呀

User belongsTo Group

当我获取没有所属Group的User时,即User里groupId可能为0或null。关联后,访问$user->group->id,页面出错

“Trying to get property of non-object”。

这种错误是不是不太友好呀?请问该怎么做呢?

暂时我只能

<?php echo isset($user->group) ? $user->group->name : null; ?>

不知道,这样做对不对。

这个$user是一个model吗?你是不是用的表关联?如果是关联,有没有在查询的时候使用with?

建议使用RBAC,而不是group。

我只是举个例子,并没有涉及到RBAC呀。

$model1 belongsTo $model2。

查询$model1时,想访问$model2里属性。$model1里的外键可能为0

的确需要检查关联对象是否为null。

还有就是Yii::app()->user->xxxxx属性。

因为xxxxx属性可能是登陆后才有的,比如判断该用户是不是管理员Yii::app()->user->isAdmin。

如果没有登陆,访问这个属性,也直接出错。否则就得扩展CWebUser。我觉得是不是返回null,比较人性化呀。