/** * @param Table $table * @param array $row * @return array */ private function saveRequiredRelations(Table $table, array $row) { foreach ($table->getRelations() as $relationName => $relation) { $owning = $relation->getOwningField(); if (!$relation->isReferencedSide($relationName) || isset($row[$relationName]) || isset($row[$owning])) { continue; } if ($table->isFieldRequired($owning)) { $row[$owning] = $this->saveRelatedRecord($relation->getReferencedTable(), null, array()); } } return $row; }