Yii关系试图获得非对象的属性

时间:2014-03-10 23:10:08

标签: yii belongs-to yii-relations

我有这些表

大学生队

id_estudiante pk nombre_estudiante

evaluaciones

id_evaluacion pk evaluacion_estudiante evaluacion_asignatura

asignaturas

id_asignatura pk nombre_asignatura

评估模型关系中的

return array(
                'estudiantes'=>array(self::BELONGS_TO, 'Estudiantes', 'evaluacion_estudiante'),
        );

evaluateaciones的_view文件我有这个

<?php echo CHtml::encode($data->estudiantes->nombre_estudiante); ?>

并且该行有一个错误,它似乎是关系的问题..但我无法解决它。

尝试获取非对象的属性

2 个答案:

答案 0 :(得分:1)

当您尝试回显不存在的内容时会发生此错误。

摆脱此错误的最佳方法是在将其渲染为输出之前先检查您的值。

你可以这样做:

if(!empty($data->estudiantes->nombre_estudiante))
<?php echo CHtml::encode($data->estudiantes->nombre_estudiante); ?>

或使用三元:

<?php (!empty($data->estudiantes->nombre_estudiante)?
echo CHtml::encode($data->estudiantes->nombre_estudiante) : "null value"; ?>

答案 1 :(得分:0)

如果字段“evaluationacion_estudiante”中的“evaluateaciones”表中有一行为null,则会发生这种情况。

如果是这样,你必须在echo之前检查$ data-&gt; estudiantes是否为空。