2require_once(dirname(__FILE__) .
'/../class.ActiveRecord.php');
24 public static function getInstance(&$model) {
31 $method =
self::_toCamelCase(
'get_' . $storage->getArFieldList()->getPrimaryFieldName());
32 $storage->setExternalModelForStorage($model);
33 $storage->{$storage->getArFieldList()->getPrimaryFieldName()} = $model->{$method}();
34 if ($storage->{$storage->getArFieldList()->getPrimaryFieldName()}) {
37 $storage->mapFromActiveRecord();
44 $this->mapToActiveRecord();
50 $this->mapToActiveRecord();
57 $this->mapFromActiveRecord();
62 foreach (array_keys($this->getArFieldList()->getArrayForConnector()) as $key) {
63 $this->{$key} = $this->getValueForStorage($key);
69 foreach (array_keys($this->getArFieldList()->getArrayForConnector()) as $key) {
70 $this->setValueToModel($key, $this->{$key});
81 $method = self::_toCamelCase(
'get_' . $key);
83 return $this->getExternalModelForStorage()->{$method}();
94 $method = self::_toCamelCase(
'set_' . $key);
96 return $this->getExternalModelForStorage()->{$method}($value);
110 $this->external_model_for_storage = $model;
118 return $this->external_model_for_storage;
static _toCamelCase($str, $capitalise_first_char=false)
static storeFromStorage($storage_class_name, arStorageInterface $foreign_model)
setExternalModelForStorage($model)
getExternalModelForStorage()
$external_model_for_storage
setValueToModel($key, $value)