function getValue() { $value = parent::getValue(); if (is_null($value)) { $value = $this->default_selection; } if (is_scalar($value)) { return $value; } if (!($value_field = $this->getAttribute('value_field'))) { $value_field = 'id'; } if ((is_array($value) || $value instanceof ArrayAccess) && isset($value[$value_field])) { return $value[$value_field]; } }
function getValue() { $values = parent::getValue(); if (!is_object($values) && !is_array($values)) { $values = $this->default_selection; } if (is_object($values) && !$values instanceof Iterator) { $values = $this->default_selection; } if (!($value_field = $this->getAttribute('value_field'))) { $value_field = 'id'; } $result = array(); foreach ($values as $value) { if (is_scalar($value)) { $result[] = $value; } elseif ((is_array($value) || $value instanceof ArrayAccess) && isset($value[$value_field])) { $result[] = $value[$value_field]; } } return $result; }