Php 如何访问实体属性的原始值?

Php 如何访问实体属性的原始值?,php,cakephp,entity,cakephp-3.0,Php,Cakephp,Entity,Cakephp 3.0,如何访问和打印此阵列的一部分? 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' => 'e

如何访问和打印此阵列的一部分?

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

转储对象不一定提供对象结构的实际表示形式,而是通过定义的自定义格式的调试信息

括号中的属性是特殊的调试信息,显示的内容可能是从任何地方收集的,但名称相同的属性除外

我建议您阅读文档并查看源代码,在那里您可以找到
EntityTrait::getOriginal()
方法,该方法允许您从受保护的
EntityTrait::$\u original
属性读取值,这是特殊的
[original]
调试信息属性获取数据的地方

'[original]' => [
            'caption' => 'original caption'
        ],
echo $attachment-> ???


与访问任何其他数组键的方式相同,上述给定的输出是
对象
,而不是
数组
@Uchiha您是对的
echo $attachment->getOriginal('caption');