public static function setValueRecursively($object, $names, $value)
{
$fields = explode('->', $names);
$destinationField = array_pop($fields);
$destinationObject = self::getValueRecursively($object, implode('->', $fields));
if ($destinationObject !== null) {
$destinationObject->{$destinationField} = $value;
}
}
private function convertRowToModel($row, $aliasToOffset, $joinsToStore) { $model = $this->extractModelFromResult($this->metaInstance, $row, $aliasToOffset[$this->alias]); foreach ($joinsToStore as $joinedModel) { if ($joinedModel->storeField()) { $instance = $this->extractModelFromResult($joinedModel->getModelObject(), $row, $aliasToOffset[$joinedModel->alias()]); Objects::setValueRecursively($model, $joinedModel->destinationField(), $instance); } } return $model; }