protected function toArray(IEntity $entity, $onlyStorable = true) { $arr = array(); foreach ($entity->fields as $field => $fieldDefs) { if ($entity->has($field)) { if ($onlyStorable) { if (!empty($fieldDefs['notStorable']) || isset($fieldDefs['source']) && $fieldDefs['source'] != 'db') { continue; } if ($fieldDefs['type'] == IEntity::FOREIGN) { continue; } } $arr[$field] = $entity->get($field); } } return $arr; }