Yii框架-从其他模型中提取字段值
我一直在努力解决这个问题,我有两个模型,用一个模型在Cgridview中显示数据,这个模型包含一些id,它们的值在不同的表中 因此,我补充说 'value'=>'TblAreaoflaw::model()->FindByPk($data->typeoflaw)->areaoflaw' 这就产生了这个错误 “正在尝试获取非对象的属性” 可能是由于这个原因,某些记录在TblAreaoflaw中不存在。我们不能通过isset登记这条线路吗 当我输入静态值时,它工作得很好,比如 'value'=>'TblAreaoflaw::model()->FindByPk(5)->areaoflaw' 谁能帮忙吗 非常感谢请确保: t法律实际上是一种模式,我怀疑它的法律领域 您已指定数据库主键,该主键是您要传递的id(5)请尝试:Yii框架-从其他模型中提取字段值,yii,Yii,我一直在努力解决这个问题,我有两个模型,用一个模型在Cgridview中显示数据,这个模型包含一些id,它们的值在不同的表中 因此,我补充说 'value'=>'TblAreaoflaw::model()->FindByPk($data->typeoflaw)->areaoflaw' 这就产生了这个错误 “正在尝试获取非对象的属性” 可能是由于这个原因,某些记录在TblAreaoflaw中不存在。我们不能通过isset登记这条线路吗 当我输入静态值时,它工作得很好,比如 'value'=>'Tb
'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方面帮助您的人