我试图在asymfony2表单类型中使用doctrine。
在services.yml中我有:
fyp_user.profile.form.type:
class: FYP\UserBundle\Form\Type\ProfileFormType
arguments:
- fos_user.model.user.class
- @doctrine.orm.entity_manager
tags:
- { name: form.type, alias: fyp_user_profile }
我的班级看起来像:
use Doctrine\ORM\EntityManager;
class ProfileFormType extends AbstractType
{
private $em;
private $session;
public function __construct(EntityManager $em)
{
$this->em = $em;
}
我要做的事情如下:
$cust = $this->em->getRepository('MyBundle:Customers')->findOneByEmail($email);
我一直在
Type error: Argument 1 passed to FYP\UserBundle\Form\Type\ProfileFormType::__construct() must be an instance of Doctrine\ORM\EntityManager, string given, called in /Applications/MAMP/htdocs/upgrade/app/cache/dev/appDevDebugProjectContainer.php on line 3594
感谢。
答案 0 :(得分:2)
服务定义和类构造函数之间存在不匹配。在服务定义中,您有两个参数:fos_user.model.user.class
和@doctrine.orm.entity_manager
,您的构造函数只接受一个(EntityManager
)。只需从服务定义中的arguments
列表中删除第一个条目,您就会很好