有可能吗?
$hydrator = $this->getServiceLocator()->get('DoctrineHydrator');
$hydrator->hydrate((array) $data, $PlatformEntity);
保湿剂仅含有1级阵列。
答案 0 :(得分:0)
阵列保湿不是实现这种情况的最佳方式。这里的情况相同:
Person
- id_person
- name
- child //self refering
数组水合只选择第一级。我解决它采取这两个选项之一:
使用left join
关联
$query = $entityManager->createQueryBuilder()
->select('p1, p2, p3, p4, p5, p6')
->from('Entity\Person', 'p1')
->leftJoin('p1.child', 'p2')
->leftJoin('p2.child', 'p3')
->leftJoin('p3.child', 'p4')
->leftJoin('p4.child', 'p5')
->leftJoin('p5.child', 'p6')
->createQuery();
然后,使用数组水合作用。
创建自己的递归函数,以手动添加数组中的每个元素。