Symfony2 和 Doctrine - OneToMany 只返回一个结果



我有拖曳实体、提交和提交历史记录。当我尝试从特定提交中获取提交历史记录时,即使有更多条目,它也只返回一个。

知道为什么吗?

以下是实体。

//Entity Submission
 /**
 * @ORMOneToMany(targetEntity="SubmissionHistory", mappedBy="submission")
 */
protected $histories;
public function __construct()
{
    $this->histories = new ArrayCollection();
}    
/**
 * Get histories
 *
 * @return DoctrineCommonCollectionsCollection 
 */
public function getHistories()
{
    return $this->histories;
}

然后

//Entity SubmissionHistory

/**
 * @ORMManyToOne(targetEntity="Submission", inversedBy="histories")
 * @ORMJoinColumn(name="hash_key", referencedColumnName="hash_key")
 */
protected $submission;
/**
 * Get submission
 *
 * @return SciForumVersion2BundleEntitySubmission 
 */
public function getSubmission()
{
    return $this->submission;
}

我发现了问题:

我将@Id设置为SubmissionHistory实体中的hash_key,这是错误的。通过这样做,所有结果都被折叠了,就好像我按"Fields.id"分组一样。

通过将 Id 更改为 id 字段,一切正常。

相关内容

  • 没有找到相关文章

最新更新