Cakephp 3“尝试获取非对象的属性”错误与h()时Null

时间:2017-10-29 03:05:33

标签: cakephp-3.0

好的,我有一个视图模板,我想从我的'item'实体显示一个关联值:

<?= h($item->itemgroup->groupname)?>

如果$ item-&gt; itemgroup_id为NULL,我收到错误:

  

尝试获取非对象的属性

没有h()函数也会出错。但是,如果我将视图代码更改为:

<?= h($item['itemgroup']['groupname']) ?>

它没有错误,并按预期显示空白。

是否有必要更新值可能为NULL的所有烘焙视图模板代码?或者是数据库设置问题(即,对于可能为空的字段不使用NULL)?

提前感谢任何见解或建议?

干杯, d。

1 个答案:

答案 0 :(得分:1)

  

是否有必要更新值可能为NULL的所有烘焙视图模板代码?或者是数据库设置问题(即,对于可能为空的字段不使用NULL)?

是的,是。

为避免错误,请使用:

<?=$item->itemgroup!==null ? h($item->itemgroup->groupname) : ''?>