Yii框架-从其他模型中提取字段值

Yii框架-从其他模型中提取字段值,yii,Yii,我一直在努力解决这个问题,我有两个模型,用一个模型在Cgridview中显示数据,这个模型包含一些id,它们的值在不同的表中 因此,我补充说 'value'=>'TblAreaoflaw::model()->FindByPk($data->typeoflaw)->areaoflaw' 这就产生了这个错误 “正在尝试获取非对象的属性” 可能是由于这个原因,某些记录在TblAreaoflaw中不存在。我们不能通过isset登记这条线路吗 当我输入静态值时,它工作得很好,比如 'value'=>'Tb

我一直在努力解决这个问题,我有两个模型,用一个模型在Cgridview中显示数据,这个模型包含一些id,它们的值在不同的表中

因此,我补充说

'value'=>'TblAreaoflaw::model()->FindByPk($data->typeoflaw)->areaoflaw'

这就产生了这个错误

“正在尝试获取非对象的属性”

可能是由于这个原因,某些记录在TblAreaoflaw中不存在。我们不能通过isset登记这条线路吗

当我输入静态值时,它工作得很好,比如

'value'=>'TblAreaoflaw::model()->FindByPk(5)->areaoflaw'

谁能帮忙吗

非常感谢

请确保:

t法律实际上是一种模式,我怀疑它的法律领域

您已指定数据库主键,该主键是您要传递的id(5)

请尝试:

 'value'=> '(TblAreaoflaw::model()->FindByPk($data->typeoflaw)->areaoflaw) ?
 : "default or null value"'

显然,将空字符串替换为您想要的任何字符串。您可能需要调整使用条件!empty()或类似的,但看看它是如何运行的。(如果您这样做或不使用PHP5.3,请使用完整的三元表达式。)

您得到的错误是因为此表达式
TblAreaoflaw::model()->FindByPk($data->typeoflaw)
正在返回
null
。这意味着您正在有效地尝试获取
null->areaoflaw
,但这不起作用(错误消息“试图获取非对象的属性”澄清了这一点)


我的猜测是,
$data->typeoflaw
为TblAreaoflaw模型返回一个不存在的主键。

Larry Ullman是可以在YII方面帮助您的人