【发布时间】:2015-05-19 09:41:18
【问题描述】:
我正在使用 KNP Translatable,我有以下数据结构:
用户(ID、姓名、电子邮件、密码...) 角色(id,名称@translatable)
用户角色是多对多关系。
我将表单类型定义为:
->add('roles', 'entity', [
'class' => 'SocialCarBackendBundle:Role',
'property' => 'name',
'multiple' => true,
'expanded' => true
])
并且我在角色实体中实现了__call方法:
public function __call($method, $arguments)
{
try {
return $this->proxyCurrentLocaleTranslation($method, $arguments);
} catch (\Symfony\Component\Debug\Exception\ContextErrorException $e) {
return $this->proxyCurrentLocaleTranslation('get' . ucfirst($method), $arguments);
}
}
现在,在 twig 模板中,我可以毫无问题地调用角色的 name 属性并正确呈现它。
但是当我尝试渲染表单时,我得到了这个错误:
既不是属性“name”也不是方法之一“getName()”, “name()”、“isName()”、“hasName()”、“__get()” 存在并公开 在“SocialCar\BackendBundle\Entity\Role”类中访问。
有什么解决方法吗?非常感谢
【问题讨论】:
标签: symfony translation