php - 使用 FOSUserBundle 通过 queryBuilder 加入获取用户名

标签 php symfony doctrine-orm fosuserbundle

我使用FOSUserBundle,我需要获取在我的帖子上发表评论的用户名。

我使用函数 createQuery 来获取帖子评论,并将此连接添加到尝试获取名称:

<?php

namespace CommentsBundle\Entity;

use FOS\UserBundle\Entity\User;

/**
 * CommentsRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class CommentsRepository extends \Doctrine\ORM\EntityRepository
{
    public function getPostComments($planId)
    {
        $arrPlanComments = array();

        $query = $this->getEntityManager()->createQuery(

            'SELECT 
             c.id, 
             c.fkUser, 
             c.fkReply, 
             c.comment, 
             c.createdAt, 
             c.likes, 
             c.unlikes 
             FROM CommentsBundle:Comments c 
             INNER JOIN UserBundle:User u 
             WITH (c.fkUser = u.id) 
             WHERE 
             c.fkPlan = :planId 
             ORDER BY c.createdAt DESC'

        )->setParameter('planId', $planId);

        try
        {
            $arrPlanComments = $query->getArrayResult();
        }
        catch(\Doctrine\ORM\NoResultException $ex)
        {
            echo $ex->getMessage();
        }

        return $arrPlanComments;
    }

}

我已将 FOSUserBundle 扩展到名为“UserBundle”的自定义 bundle ,它工作正常,但我不知道如何添加与此实体的关系。

添加连接关系时出现此错误:

[Semantical Error] line 0, col 164 near 'UserBundle:User': Error: Class 'UserBundle\Entity\User' is not defined.

出了什么问题?

最佳答案

根据文档,您必须 create own class对于 User 实体,它将扩展 FOSUser 提供的实体。看来你还没有这样做。这就是您的错误消息可能表明的内容。

关于php - 使用 FOSUserBundle 通过 queryBuilder 加入获取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37379502/

相关文章:

symfony - PhpUnit 测试很长

php - 从异常中重新启动实体管理器

symfony - 如何使用 Symfony 控制台初始化 :bundle?

mysql - 或者通过 Doctrine2 按不固定数量的关键字进行搜索

php - 带有可翻译字段的 SonataAdminBundle(原则扩展)

php - Codeigniter 多数据库,即使连接失败,conn_id 也返回对象

php - 如何使用 PHP 显示相同的 MySQL 查询两次?

php - Cakephp 错误重定向

php - 使用 preg_replace 捕获数学

rest - Symfony2 : simplest way to get RESTful urls