我有一个DQL查询,它遍历所有帖子,显示他们的评论等...:
public function getAllPosts(User $user){
$qb = $this->createQueryBuilder('p');
$qb->select('p, postPhotos,postVideos, comments')
->leftJoin('p.photos', 'postPhotos')
->leftJoin('p.videos', 'postVideos')
->leftJoin('p.comments', 'comments')'
等...
然后,我必须遍历帖子并执行汇总功能以计算每个帖子的评论数。
因此,为了做到这一点,Doctrine要求您在Comment实体内声明一个字段,我将其称为numComments,然后编写我的存储库函数以在CommentRepository.php中设置其值:
类注释 {
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="numComments", type="integer")
*/
private $numComments;
将这个numComments字段放入注释类后,Doctrine错误地认为该字段是我原始帖子查询的一部分(在顶部),并给我一个错误,“找不到列:1054未知列' c3_.numComments”在“字段列表”中
我是否必须添加新的迁移并将“ numComments”列添加到实际的Comment数据库表中?
为什么教义会如此困难,迫使您以这种方式做事?