我使用FOSUserBundle,我需要获取在我的帖子上写评论的用户名。
我使用函数createQuery
来获取帖子评论,并将此联接添加到尝试获取名称时:
<?php
namespace CommentsBundleEntity;
use FOSUserBundleEntityUser;
/**
* CommentsRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class CommentsRepository extends DoctrineORMEntityRepository
{
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(DoctrineORMNoResultException $ex)
{
echo $ex->getMessage();
}
return $arrPlanComments;
}
}
我已经将 FOSUserBundle 扩展到名为"UserBundle"的自定义捆绑包,它工作正常,但我不知道如何添加与此实体的关系。
添加连接关系时出现此错误:
[语义错误] 第 0 行,第 164 行靠近"用户捆绑包:用户":错误:未定义类"用户捆绑包\实体\用户"。
怎么了?
根据文档,您必须为用户实体创建自己的类,这将扩展 FOSUser 提供的类。看来你还没有这样做。这就是您的错误消息可能指示的内容。