debug($attachment);
object(App\Model\Entity\Attachment) {
'id' => (int) 73,
'apartment_id' => (int) 1,
'name' => 'bla bla bla',
'caption' => 'bla bla',
'position' => (int) 1,
'_locale' => 'eng',
'[new]' => false,
'[accessible]' => [
'*' => true
],
'[dirty]' => [],
'[original]' => [
'caption' => 'original caption'
],
'[virtual]' => [],
'[errors]' => [],
'[repository]' => 'Attachments'
}
echo $attachment->caption; # bla bla
如何访问和打印此阵列的一部分?
'[original]' => [
'caption' => 'original caption'
],
echo $attachment-> ???
答案 0 :(得分:8)
转储对象并不一定能为您提供对象结构的实际表示,而是通过the magic __debugInfo()
method定义的自定义格式化调试信息。
括号中的属性是特殊的调试信息,除了具有相同名称的属性之外,可能从任何地方收集的内容都已收集。
我建议你阅读文档并查看源代码,在那里你可以找到EntityTrait::getOriginal()
方法,它允许你从受保护的EntityTrait::$_original
属性中读取值,这是特殊[original]
调试信息属性从中获取数据。
echo $attachment->getOriginal('caption');
见