如何使用 symfony2 博客中的 DQL 查询检索类别



我在symfony2中创建了一个应用程序。到目前为止,我有一个对用户进行身份验证的实体用户、一个实体来宾和一个类别

用户与来宾具有一对多关系,该关系保留来宾(对于事件),将 users.id 映射到guests.user_id变量。

出于同样的原因,用户还与类别具有一对多关系。

来宾

与类别具有多对多关系,因为许多类别中有许多来宾,许多来宾有许多类别

我已经创建了所有内容,并且 CRUD 操作成功向我显示用户添加的所有来宾。我想添加每个来宾都属于"查看"操作的类别。

我很困惑。我进行了自定义查询以检索登录用户的所有来宾:

public function indexAction()
    {
       $user = $this->get('security.context')->getToken()->getUser();
       $userId = $user->getId();
       $em = $this->getDoctrine()->getEntityManager();
       $query = $em->createQuery("SELECT g
                                  FROM AcmeSomethingBundleEntityGuest g
                                  INNER JOIN g.user u
                                  WHERE u.id = :userId
                                  ORDER BY g.surname ASC");
        $query->setParameter('userId', $userId); 
        $entities = $query->getResult();
        return $this->render('AcmeSomethingBundle:Guest:index.html.twig', array(
            'entities' => $entities
        ));
    }

如果我尝试将类别实体添加到查询中,则会出现异常:

public function indexAction()
        {
           $user = $this->get('security.context')->getToken()->getUser();
           $userId = $user->getId();
           $em = $this->getDoctrine()->getEntityManager();
           $query = $em->createQuery("SELECT g , c
                                      FROM AcmeSomethingBundleEntityGuest g,
                                           AcmeSomethingBundleEntityCategory c
                                      INNER JOIN g.user u
                                      WHERE u.id = :userId
                                      ORDER BY g.surname ASC");
            $query->setParameter('userId', $userId); 
            $entities = $query->getResult();
            return $this->render('AcmeSomethingBundle:Guest:index.html.twig', array(
                'entities' => $entities
            ));
        }

请帮忙。我一直在尝试让它工作 6 小时(在系列:)中)。

SELECT g
FROM AcmeMarriBundleEntityGuest g
LEFT JOIN g.user u
WHERE u.id = :userId
ORDER BY g.surname ASC

查询是对的,错误的是树枝编码。我必须创建一个循环,因为类别是一个数组

{% for category in entity.categories %}
{{ category.name }}
{% endfor %}

相关内容

  • 没有找到相关文章

最新更新