使用带有Doctrine记录的Twig时出错

时间:2011-12-01 16:27:23

标签: php doctrine doctrine-1.2 twig

我正在尝试使用Twig模板来显示使用Doctrine 1获取的某些对象。在访问hasMany类的setUp函数中使用User声明的关系时,我遇到了问题。在我的PHP代码中,我可以做$user->Instance而没有任何问题,但是如果我将$user传递给模板并尝试执行user.Instance则会引发异常:

Doctrine_Record_Exception' with message 'Unknown method User::Instance'

我该如何解决这个问题?

谢谢,

PS:使用user.get('Instance')似乎有用但我当然更愿意避免它

1 个答案:

答案 0 :(得分:0)

为避免这种情况,您必须定义要在模板中调用的所有getter,因为doctrine使用“魔术方法”(__call() - method)为您提供getter和setter。

E.g。对于属性“firstname”:

Twig检查方法“getFirstname”是否存在,但模型中没有定义“getFirstname”方法。

在这里你找到一个补丁,告诉学说生成getter和setter: http://coolsoft.altervista.org/en/blog/2009/03/how-make-symfonydoctrine-generate-accessors