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-> ???
最佳答案
转储对象不一定会给您对象结构的实际表示,而是自定义格式的调试信息,通过 the magic __debugInfo()
method 定义。 .
括号中的属性是特殊的调试信息,那里显示的内容可能是从除同名属性之外的任何地方收集的。
我建议您阅读文档并查看源代码,在那里您可以找到 EntityTrait::getOriginal()
方法,它可以让您从 protected 中读取值EntityTrait::$_original
属性,特殊的 [original]
调试信息属性从中获取数据。
echo $attachment->getOriginal('caption');
见
关于php - 如何访问实体属性的原始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32603646/