Php Doctrine2无法插入到关联表中
我尝试在两个表之间的关联表中插入, 我有一个错误: 可捕获致命错误:参数1传递给 Acme\HomeBundle\Entity\AuthUsergroup::setLogin()必须是实例 Acme\HomeBundle\Entity\AuthUser的,给定字符串,在中调用 /var/www/html/prj/src/Acme/HomeBundle/Controller/UserController.php 在第73行,定义了 第73行是:$aug->setLogin($my_id); 这个功能来自:Php Doctrine2无法插入到关联表中,php,symfony,doctrine-orm,controller,Php,Symfony,Doctrine Orm,Controller,我尝试在两个表之间的关联表中插入, 我有一个错误: 可捕获致命错误:参数1传递给 Acme\HomeBundle\Entity\AuthUsergroup::setLogin()必须是实例 Acme\HomeBundle\Entity\AuthUser的,给定字符串,在中调用 /var/www/html/prj/src/Acme/HomeBundle/Controller/UserController.php 在第73行,定义了 第73行是:$aug->setLogin($my_id); 这个功
/**
* Set login
*
* @param \Acme\HomeBundle\Entity\AuthUser $login
*
* @return AuthUsergroup
*/
public function setLogin(\Acme\HomeBundle\Entity\AuthUser $login = null)
{
$this->login = $login;
return $this;
}
这个错误是不言自明的:方法需要一个AuthUser对象,而您给它一个字符串。你必须通过考试才能做这样的事情:
$newAuth = new AuthUser();
// assuming the AuthUser class has a setName() method
$newAuth->setName($my_id);
// You pass a AuthUser object -> no more exception thrown
$aug->setLogin($newAuth);
希望这有帮助。您能转储
$my\u id
吗?问题似乎是它是一个字符串,而不是一个AuthUser对象。这给了我:string(6)“Fred”,那么我如何才能将其更改为一个对象?您应该发布您的AuthUser实体代码,但我猜是这样的:$newAuth=newauthuser()$newAuth->setName($my_id)代码>。但是我必须建议你在方法和变量名上保持一致:$my_id应该是一个id,也就是说一个整数,你可以用它找到对象,不管它们是什么。这里你的名字很混乱。