可捕获的致命错误:symfony2


Catchable Fatal Error: symfony2

我是symfony2的新手,开始了一个简单的symblog项目,创建了一个帖子和评论的crud,当我创建了一个评论的crud一切都很好,但现在我必须坚持,合并和删除我的帖子,我有这个错误:

可捕获致命错误:参数1传递给noticibundle 'Repository'NoticiaRepository:: adiciar()必须是一个代理的实例__cg__ ' noticibundle 'Entity'NoticiaNoticia 'Entity'Noticia given, call inC: ' Desenvolvimento ' wamp ' www ' myproject ' src ' NoticiaBundle ' ' NoticiaController.php控制器在第49行定义了

Controller Persist Function:

/**
 * @Route("/cadastrar_noticia", name="_cadastrar_noticia")
 * @Template()
 */
public function cadastrarAction() {
    $noticia = new Noticia();
    $request = $this->getRequest();
    $form = $this->createForm(new NoticiaType(), $noticia);
    $form->handleRequest($request);
    if ($form->isValid()) {
        try {
            $noticia = $form->getData();
            $noticiaRepository = $this->getDoctrine()->getRepository('NoticiaBundle:Noticia');
            $noticiaRepository->adicionar($noticia);
            $this->addFlash('success', 'Noticia cadastrada com sucesso');
            return $this->redirectToRoute('_imagem_raias_index');
        } catch (Exception $ex) {
            echo $ex->getMessage();
        }
    }
    return array("form" => $form->createView());
}

持久化存储库

 public function adicionar(Noticia $noticia) {
    $this->_em->persist($noticia);
    $this->_em->flush();
    return true;
}

和FormType

<?php
namespace NoticiaBundle'Form;
use Symfony'Component'Form'AbstractType;
use Symfony'Component'Form'FormBuilderInterface;
use Symfony'Component'OptionsResolver'OptionsResolverInterface;
class NoticiaType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('titulo',null, array('attr' => array('class' => 'form-control'),
                'label_attr' => array('class' => 'control-label col-lg-2')
            ))
            ->add('imagem',null, array('attr' => array('class' => 'form-control'),
                'label_attr' => array('class' => 'control-label col-lg-2')
            ))
            ->add('noticia','textarea', array('attr' => array('class' => 'form-control', 'rows' => 15),
                'label_attr' => array('class' => 'control-label col-lg-2')
            ))
            ->add('tags',null, array('attr' => array('class' => 'form-control'),
                'label_attr' => array('class' => 'control-label col-lg-2')
            ))
            ->add('salvar', 'submit', array('attr' => array('class' => 'btn btn-primary pull-right')));
    }
    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'NoticiaBundle'Entity'Noticia'
        ));
    }
    /**
     * @return string
     */
    public function getName()
    {
        return 'noticiabundle_noticia';
    }
}
谁能帮我??

在您定义adicionar的Repository中,检查您的use语句。您需要使它指向实际的模型,而不是代理。