Php Doctrine2无法插入到关联表中

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); 这个功

我尝试在两个表之间的关联表中插入, 我有一个错误:

可捕获致命错误:参数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,也就是说一个整数,你可以用它找到对象,不管它们是什么。这里你的名字很混乱。