/** * @param array[] $value * @param PropRule $propRule * @param DataTransformer $transformer * @return mixed[] * * @throws ParseException */ public function toModel(array $value, PropRule $propRule, DataTransformer $transformer) { $type = $propRule->getKey('rel')['map']; $emptyModel = $transformer->createModel($propRule->getKey('rel')['model']); $models = []; foreach ($value as $one) { $model = clone $emptyModel; $transformer->fillModel($one, $model, $type); $models[] = $model; } return $models; }
/** * @param PropRule $propRule * @return array */ protected function getType(PropRule $propRule) : array { $isCollection = $propRule->getKey('coll', false); $type = $this->types[$propRule->getType()]; return [$type, $isCollection]; }