@@ 95-115 (lines=21) @@ | ||
92 | * |
|
93 | * @throws Exception |
|
94 | */ |
|
95 | protected function persistOneToOneRelations(EntityInterface $entity) |
|
96 | { |
|
97 | $joinData = array(); |
|
98 | $relations = $entity->getOneToOneRelations(); |
|
99 | foreach ($relations as $relation) { |
|
100 | $oneToOne = $this->relationFactory->create(DataMapper::RELATION_ONE_TO_ONE, $relation); |
|
101 | $entity = $this->entityFactory->create($oneToOne->getEntity()); |
|
102 | $id = $this->persistRecursive($entity); |
|
103 | $joinVal = $entity->getProperty($oneToOne->getJoinColumnReferencedColumnName()); |
|
104 | $joinData[$oneToOne->getJoinColumnName()] = !is_null($joinVal) |
|
105 | ? $joinVal |
|
106 | : $this->provider->getColumnValueWhere( |
|
107 | $oneToOne->getTable(), |
|
108 | $oneToOne->getJoinColumnReferencedColumnName(), |
|
109 | key($id), |
|
110 | current($id) |
|
111 | ); |
|
112 | } |
|
113 | ||
114 | return $joinData; |
|
115 | } |
|
116 | ||
117 | /** |
|
118 | * Persist manyToOne relations |
|
@@ 126-146 (lines=21) @@ | ||
123 | * |
|
124 | * @throws Exception |
|
125 | */ |
|
126 | protected function persistManyToOneRelations(EntityInterface $entity) |
|
127 | { |
|
128 | $joinData = array(); |
|
129 | $relations = $entity->getManyToOneRelations(); |
|
130 | foreach ($relations as $relation) { |
|
131 | $manyToOne = $this->relationFactory->create(DataMapper::RELATION_MANY_TO_ONE, $relation); |
|
132 | $entity = $this->entityFactory->create($manyToOne->getEntity()); |
|
133 | $id = $this->persistRecursive($entity); |
|
134 | $joinVal = $entity->getProperty($manyToOne->getJoinColumnReferencedColumnName()); |
|
135 | $joinData[$manyToOne->getJoinColumnName()] = !is_null($joinVal) |
|
136 | ? $joinVal |
|
137 | : $this->provider->getColumnValueWhere( |
|
138 | $manyToOne->getTable(), |
|
139 | $manyToOne->getJoinColumnReferencedColumnName(), |
|
140 | key($id), |
|
141 | current($id) |
|
142 | ); |
|
143 | } |
|
144 | ||
145 | return $joinData; |
|
146 | } |
|
147 | ||
148 | /** |
|
149 | * @param EntityInterface $entity |