同じテーブル内の1対多の関連付けに関するものですが、MongoDB内にあります。
class Component
{
...
/**
* @MongoDB\ReferenceMany(
* discriminatorMap={
* "component"="Component"
* },
* inversedBy="components.id",
* cascade={"persist", "remove", "refresh", "merge"}
* )
*
*/
protected $components;
public function __construct()
{
$this->components = new ArrayCollection();
}
/**
* Add components
*
* @param $component
*/
public function addComponents(Component $component)
{
if(!$this->components->contains($component)){
$this->components->add($component);
}
}
...
}
これにより、コンポーネントが問題なく関連付けられます。コレクションを確認して実際に関連付けますが、コンポーネントを取り戻そうとすると、$ this-> componentsはArrayCollectionではなく、オブジェクトコンポーネントになります。
何か案は?