protected function _extractPrefixedFieldsAsActiveRecords($record) { foreach ($this->join_relations as $relation_name => $params) { $relation_info = $this->base_object->getRelationInfo($relation_name); if (isset($relation_info['can_be_null']) && $relation_info['can_be_null'] && !$record->get($this->prefix . $relation_info['field'])) { return; } $fields = new lmbSet(); $prefix = $this->prefix . $relation_name . '__'; if ($record instanceof lmbActiveRecord) { $data = $record->exportRaw(); } else { $data = $record->export(); } foreach ($data as $field => $value) { if (strpos($field, $prefix) === 0) { $non_prefixes_field_name = substr($field, strlen($prefix)); $fields->set($non_prefixes_field_name, $value); $record->remove($field); } } $related_object = lmbARRecordSetDecorator::createObjectFromRecord($fields, $relation_info['class'], $this->conn); $record->set($this->prefix . $relation_name, $related_object); } }
function testIfRecordIsEmpty() { $iterator = new lmbARRecordSetDecorator(new lmbCollection(), 'LectureForTest'); $iterator->rewind(); $this->assertFalse($iterator->valid()); }