2015-09-16 41 views
2
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

以同樣的方式你訪問任何其他數組鍵 – GordonM

+3

上面給出的輸出是一個'object'和不'陣' –

+1

@Uchiha你是對的 – Salines

回答

8

傾銷的對象不一定給你的對象結構的實際表現,但自定義格式的調試信息,通過the magic __debugInfo() method定義。

括號內的屬性是特殊的調試信息,顯示的內容可能是從任何地方收集的,但是具有相同名稱的屬性。

您閱讀文檔,並看看源我建議,在那裏你可以找到EntityTrait::getOriginal()方法,它允許在特殊[original]調試信息屬性讓你讀取受保護的EntityTrait::$_original屬性,它是價值的數據來自。

echo $attachment->getOriginal('caption'); 

+0

每天我都會學習新的東西,謝謝。 – Salines