/** * @param array $relationsArray * @param \Phalcon\Mvc\Model $model * @param \Phalcon\Mvc\Model\Relation $relation */ public function save(array $relationsArray, $model, $relation) { $relationAlias = $relation->getOption('alias'); $needDeleteRelations = $this->getNeedDelete($relationsArray, $model, $relation); $this->delete($needDeleteRelations); foreach ($relationsArray as $relationData) { $relationData = Params::convertDate($relationData, $this->getDI()); if (empty($relationData['id'])) { $this->create($relationData, $model, $relationAlias); } else { $this->update($relationData, $model, $relationAlias); } } }
/** * @param \Phalcon\Mvc\Model $model * @param \Phalcon\Mvc\Model\Relation $relation * @param bool $isConvertToArray * @return array|Model\Resultset|\Phalcon\Mvc\Model|void */ private function getAssignRelation(Model $model, Relation $relation, $isConvertToArray = true) { $alias = $relation->getOption('alias'); if (!$alias) { return; } $data = $model->{$alias}; return $data && $isConvertToArray ? $data->toArray() : $data; }