我正在尝试在表单类型类中使用教义。
这是代码
class UserType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options)
{
$userRepository= $this->getDoctrine()->getRepository('UserBundle:User');
$user = $userRepository->findOneByName('Sara');
$builder
->setAction($options['data']['url'])
->setMethod('GET')
->add('user', 'text', array(
'user.id' => $user,
'label' => 'User',
))
->add('save', 'submit', array('label' => 'SoapServer'))
;
}
我收到这样的错误:
Attempted to call an undefined method named "getDoctrine" ...
有没有办法叫教义?
分享这个答案我真的很惭愧,但如果你绝望了,你可以使用这样的东西。请尽量避免这个解决方案,找到更好的解决方案,没有任何全局变量。另请注意,您已将存储库 var 从 $userRepository 更改为 $statusRepository。
public function buildForm(FormBuilderInterface $builder, array $options)
{
global $kernel;
if ( 'AppCache' == get_class($kernel) )
{
$kernel = $kernel->getKernel();
}
$doctrine = $kernel->getContainer()->get( 'doctrine' );
$userRepository=$doctrine->getRepository('UserBundle:User');
$user = $userRepository->findOneByName('Sara');