【发布时间】:2015-07-01 13:35:01
【问题描述】:
我尝试插入 2 个表之间的关联表, 我有这个错误:
可捕获的致命错误:参数 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;
}
【问题讨论】:
-
你能转储
$my_idplease 吗?问题似乎是它是一个字符串,而不是 AuthUser 对象。 -
这给了我:字符串(6)“Fred”,那么我怎样才能将其更改为对象?
-
您应该发布您的 AuthUser 实体代码,但我猜是这样的:
$newAuth = new AuthUser(); $newAuth->setName($my_id);。但是我必须建议您在方法和变量名称上保持一致:$my_id 应该是一个 id,也就是说一个整数,您可以使用它找到对象,无论它们是什么。这里你的命名很混乱。
标签: php symfony doctrine-orm controller