3 declare(strict_types=1);
25 $this->properties = $a_properties;
33 switch ($a_mdb2_type) {
57 foreach ($this->properties->getActiveRecordFields() as $element_id => $element_fields) {
58 foreach ($element_fields as $field) {
59 $this->field_element_map[$field->getName()] = $element_id;
61 $fields = array_merge($fields, $element_fields);
63 $this->
fields->setFields($fields);
67 if (
count($this->properties->getPrimary()) > 1) {
68 throw new ilException(
"ilADTActiveRecordWrapper - no complex primary keys supported yet");
71 foreach ($this->properties->getPrimary() as $primary_id => $primary_element) {
73 $field->setHasField(
true);
74 $field->setNotNull(
true);
76 $field->setName($primary_id);
77 $this->
fields->setPrimaryField($field);
83 return $this->properties->getTable();
88 throw new \RuntimeException(
'Not implemented yet');
93 $primaries = $this->properties->getPrimary();
94 $primary = array_shift($primaries);
103 if (array_key_exists($field_name, $this->field_element_map)) {
104 $element = $this->properties->getElement($this->field_element_map[$field_name]);
105 return $element->getFieldValue($field_name);
114 public function wakeUp($field_name, $field_value)
116 if (array_key_exists($field_name, $this->field_element_map)) {
117 $element = $this->properties->getElement($this->field_element_map[$field_name]);
118 $element->setFieldValue($field_name, $field_value);
getActiveRecordFieldTypeFromMDB2(string $a_mdb2_type)
ADT Active Record service wrapper class This class expects a valid primary for all actions! ...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
wakeUp($field_name, $field_value)
arConnectorDB $arConnector
__construct(ilADTGroupActiveRecordBridge $a_properties)
Constructor.
ilADTGroupActiveRecordBridge $properties
const FIELD_TYPE_TIMESTAMP
getConnectorContainerName()
static returnDbTableName()