试图获得 属性 'values' 的非对象
Trying to get property 'values' of non-object
我正在尝试让这段代码正常工作。但这是行不通的。但是当我用静态数字替换 $item->item_id 时,代码工作正常,只是不是动态输出。
foreach ($collection as $item) {
print 'title: '. $item->title . '<br>';
print 'link: '. $item->link . '<br>';
print 'item_id: '. $item->item_id . '<br>';
$test = PodioItem::get_basic($item->item_id); // replace it with a static number
print $test->fields['brugernavn']->values . '<br>';
}
问题是我收到此错误 "Trying to get property 'values' of non-object"
问题在这里:
您正在遍历项目集合。对于这些项目中的每一个,你都会做一些事情。如果对于集合中的 one 项,此内容将不起作用(抛出错误),错误消息不会告诉您是哪个。
如果您现在从集合中选择一个项目,您就知道您所做的事情正在处理(这里:有一个 item_id
),难怪,它有效。
如何规避这个?
首先,您应该检查您的实际数据是否存在任何缺陷。通过在错误发生之前检查该数据的值来执行此操作(print_r
、var_dump
或使用 xdebug)。您会发现并非每个项目都会有 field['brugernavn']
为了避免这个错误:在做这些事情之前,确保这些东西会起作用。在您的情况下,您应该检查 field['brugernavn']
是否存在并且具有如下合理的值:
if (isset($test->fields['brugernavn']) && isset($test->fields['brugernavn']->values)) {
print $test->fields['brugernavn']->values . '<br>';
}
我正在尝试让这段代码正常工作。但这是行不通的。但是当我用静态数字替换 $item->item_id 时,代码工作正常,只是不是动态输出。
foreach ($collection as $item) {
print 'title: '. $item->title . '<br>';
print 'link: '. $item->link . '<br>';
print 'item_id: '. $item->item_id . '<br>';
$test = PodioItem::get_basic($item->item_id); // replace it with a static number
print $test->fields['brugernavn']->values . '<br>';
}
问题是我收到此错误 "Trying to get property 'values' of non-object"
问题在这里:
您正在遍历项目集合。对于这些项目中的每一个,你都会做一些事情。如果对于集合中的 one 项,此内容将不起作用(抛出错误),错误消息不会告诉您是哪个。
如果您现在从集合中选择一个项目,您就知道您所做的事情正在处理(这里:有一个 item_id
),难怪,它有效。
如何规避这个?
首先,您应该检查您的实际数据是否存在任何缺陷。通过在错误发生之前检查该数据的值来执行此操作(print_r
、var_dump
或使用 xdebug)。您会发现并非每个项目都会有 field['brugernavn']
为了避免这个错误:在做这些事情之前,确保这些东西会起作用。在您的情况下,您应该检查 field['brugernavn']
是否存在并且具有如下合理的值:
if (isset($test->fields['brugernavn']) && isset($test->fields['brugernavn']->values)) {
print $test->fields['brugernavn']->values . '<br>';
}