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

标签 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' => '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/

相关文章:

php - CakePHP 与 Ruby on Rails 有何不同?

cakephp - 你如何使用composer cli?

java - 当我认为我可以从 Spring 中的实体访问服务时,如何更好的解决方案来替换我的代码?

php - Laravel 的 YouTube 社交名流提供商的回调错误

javascript - 希望在互联网出现故障时离线存储表单数据并在互联网活跃时提交

php - 无法连接 MySQL

php - 如何在 cakephp 3.x 的下拉列表中选择多个值

java - JpaRepository findAll() 将不会返回具有空字段的行

forms - symfony2 表单中找不到实体错误

php - Html 输出标记发布到 mysql