CakePHP 3、在Entity中,如何只发送修改后的数据给view?

CakePHP 3, in Entity, how to only send data modified to view?

您好,我目前正在使用实体发送在实体处修改的数据以供查看。 比如

 protected function _getType($type){
    if($type == 'L'){
        return 'LinkedIn';
    }elseif($type == 'F'){
        return 'Facebook';
    }else{
        return 'Email';
    }
}

问题是当我将数据存储在数据库中时,"type" 值 "L" 被修改为 "LinkedIn" 并将其保存为 "LinkedIn"。

有没有其他方法只显示修改的数据而不保存修改的数据?

提前致谢。

您可以简单地创建一个虚拟 属性,即选择一个与现有字段不匹配的名称,例如

protected function _getExpandedType()
{
    switch($this->get('type')) {
        case 'L':
            return 'LinkedIn';
        case 'F':
            return 'Facebook';
    }
    return 'Email';
}
<?= $entity->expanded_type ?>

另见