2014-02-17 35 views
1

我有两个实体,提交和提交历史。当我试图从特定提交中获取提交历史记录时,即使有更多条目,它也只返回一个。Symfony2和Doctrine - OneToMany只返回一个结果

任何想法为什么?

这里是实体。

//Entity Submission 

/** 
* @ORM\OneToMany(targetEntity="SubmissionHistory", mappedBy="submission") 
*/ 
protected $histories; 

public function __construct() 
{ 
    $this->histories = new ArrayCollection(); 
}  

/** 
* Get histories 
* 
* @return Doctrine\Common\Collections\Collection 
*/ 
public function getHistories() 
{ 
    return $this->histories; 
} 

然后,

//Entity SubmissionHistory 


/** 
* @ORM\ManyToOne(targetEntity="Submission", inversedBy="histories") 
* @ORM\JoinColumn(name="hash_key", referencedColumnName="hash_key") 
*/ 
protected $submission; 

/** 
* Get submission 
* 
* @return SciForum\Version2Bundle\Entity\Submission 
*/ 
public function getSubmission() 
{ 
    return $this->submission; 
} 

回答

0

我发现这个问题:

我设置了@Id是在SubmissionHistory实体HASH_KEY,这是错误的。通过这样做,所有结果都崩溃了,就好像我通过“Fields.id”对它们进行了分组。

通过将ID更改为ID字段,事情工作得很好。