我想你应该补充一下 analysis 到了 Analyses 集合前的集合 Sample 。
analysis
Analyses
Sample
我想$ this-> analyze是一个ArrayCollection所以,使用 ArrayCollection::add() 添加新对象的方法。
ArrayCollection::add()
请尝试这部分代码,让我知道结果
class Sample { /** * @ORM\OneToMany(targetEntity="Analysis", mappedBy="sample", cascade={"persist"}) */ protected $analyses public function __construct() { $this->analyses = new ArrayCollection(); } public function addAnalysis(Analysis $analysis) { $this->analyses->add($analysis); $analysis->setSample($this); return $this; } }
Credreak ... 谢谢你......教义不清楚这些是如何构建的。
我实际上修改了你的代码以创建一个“相关字段”(analyese)的实例作为一个Array Collection @ _construct,然后你可以通过将它传递给addAnalysis()函数来填充该实际的Entity。
所以操作的顺序是:(据我所知)
这对我有用。
class Sample { /** * @ORM\OneToMany(targetEntity="Analysis", mappedBy="sample", cascade={"persist"}) */ protected $analyses public function __construct() { $this->analyses = new ArrayCollection(); } public function addAnalysis(Analysis $analysis) { $this->analyses->add($analysis); $analyses->setSample($this); return $this; } }