Symfony - 将实体设置为 ManyToOne

Symfony - Set an Entity to a ManyToOne

好的,我问你一个简单的问题,我如何设置一个不在参数中的实体

我正在尝试这个方法:

    $em_category = $this->getDoctrine()->getManager();
    $em_category->getRepository('AppBundle:Category')->findOneBy(array('id' => ($request->get('id_category'))));
    $userInterest->setUser($user);

    $userInterest->setCategory($em_category);

但是当我这样做时出现了这个错误:

Expected value of type "AppBundle\Entity\Category" for association field "AppBundle\Entity\UserInterest#$category", got "Doctrine\ORM\EntityManager" instead.

那么我怎样才能将用户兴趣设置为我想要的类别...? 感谢所有将尝试回答的人:p

变量 $em_category 是您的实体管理器,class 执行数据存储和从数据库检索。您需要使用它来获取类别,然后将该值传递给 setCategory。像这样。

$cat = $em_category->getRepository('AppBundle:Category')->findOneBy(array('id' => ($request->get('id_category'))));
$userInterest->setCategory($cat);