Symfony2无法加载表单类型类

时间:2016-01-09 00:01:14

标签: symfony

我在url中生成依赖于请求参数的类名。例如: ... SOME_URL ...?CATEGORY_ID = 3

ID 3它是实体类:AdFlat 对于使用表单类型,我使用表单类AdFlatType。

在控制器中:

    public function addAction(Request $request)
    {
        $categoryId = $request->get('category_id');

        if ($categoryId) {
            $category = $this->getDoctrine()->getRepository('AdBundle:AdCategory')->find($categoryId);

            if (null === $category) {
                return $this->renderError('You cannot create Ad for this category');
            }

            if (null === $category->getEntity()) {
                return $this->renderError('You cannot create Ad for category ' . $category->getTitle());
            }

            $entityName = $category->getEntity();
            $formTypeName = $entityName . 'Type';

            $formType = new $formTypeName();
            $entity = new $entityName();
        }
}

在USE部分:

use AdBundle\Form\Type\AdFlatType;

但无论如何我收到错误:

  

尝试从全局命名空间加载类“AdFlatType”。难道   你忘记了“使用”声明吗?

有什么问题?

感谢。

1 个答案:

答案 0 :(得分:3)

您的$category->getEntity()应该返回完全限定的班级名称,而不仅仅是AdFlat,而是AdBundle\Form\Type\AdFlat