覆盖Doctrine枚举默认getter

时间:2011-12-15 16:12:27

标签: symfony1 enums doctrine symfony-1.4

在基类中:

  

@method enum getWeightType()返回当前记录   “weight_type”值

子类:

class Exercise extends BaseExercise
{
    public function getWeightType() 
    {
        $type = parent::getWeightType();
        if ($type == 'free') {
            return 'Wolny';
        } else {
            return 'Stacjonarny';
        }
    }
}

基本上我想在数据库中输出除商店以外的值。

在indexSuccess中:

echo $exercise->getWeightType()

我收到错误:

  

致命错误:达到最大功能嵌套级别'100',正在中止

有人可以给我任何建议吗?

1 个答案:

答案 0 :(得分:1)

覆盖时需要使用受保护的方法:

$type = $this->_get('weight_type');

否则你就会在圈子里跑自己,因为它会继续尝试调用访问器方法,你会覆盖永远不会到达实际获得内部值的方法。