0

我有这些桌子

学生

id_estudiante pk 名称_estudiante

评价

id_evaluacion pk evaluacion_estudiante evaluacion_asignatura

签名

id_asignatura pk nombre_asignatura

在评估模型关系

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

evaluaciones 的 _view 文件我有这个

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

并且在那条线上有一个错误,这似乎是关系的问题..但我无法解决它。

试图获取非对象的属性

4

2 回答 2

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"; ?>
于 2014-03-13T09:36:41.793 回答
0

This happens if there's a row in table "evaluaciones" with null value in the field evaluacion_estudiante.

If so, you must check if $data->estudiantes is null before echo.

于 2014-03-11T07:05:27.043 回答