Symfony2:删除m:n关系中的记录
在删除m:n表中的条目时,我遇到了一个问题。我尝试了解决方案,但得到了错误:ContextErrorException:可捕获致命错误:传递给Pso\ProjectBundle\Entity\Project::removeUser的参数1必须是Pso\LogBundle\Entity\User的实例,给定字符串,在第59行的C:\xampp\htdocs\pso\src\pso\ProjectBundle\Controller\ProjectController.php中调用,并在C:\xampp\htdocs\pso\src\pso\ProjectBundle\Entity\Project.php第452行中定义 我有一个具有以下功能的类项目:Symfony2:删除m:n关系中的记录,symfony,many-to-many,crud,Symfony,Many To Many,Crud,在删除m:n表中的条目时,我遇到了一个问题。我尝试了解决方案,但得到了错误:ContextErrorException:可捕获致命错误:传递给Pso\ProjectBundle\Entity\Project::removeUser的参数1必须是Pso\LogBundle\Entity\User的实例,给定字符串,在第59行的C:\xampp\htdocs\pso\src\pso\ProjectBundle\Controller\ProjectController.php中调用,并在C:\xamp
/**
* Remove users
*
* @param \Pso\LogBundle\Entity\User $users
*/
public function removeUser(\Pso\LogBundle\Entity\User $users)
{
$this->users->removeElement($users);
}
现在我想从表project\u user中删除一个条目。此表实现了来自用户和项目的n:m关系
Im我的控制器我尝试调整链接解决方案:
public function deleteUserProjectAction($id, $projectid, Request $request)
{
$em = $this->getDoctrine()->getManager();
$project = $em->find('PsoProjectBundle:Project', $projectid);
$project->removeUser($id);
$em->persist($project);
$em->flush();
}
$id是n:m表中用户的id,$projectd是相关项目的id。任何解决方案的提示都将不胜感激。错误非常明显。您正在为removeUser函数提供一个字符串,该字符串是用户的id,而预期的参数类型是用户 您必须使用$id从数据库中检索用户,然后将此用户传递给函数