[!!!][~API] Extbase (Persistence): $query->execute() now returns a plain array of...
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Persistence / Value.php
index a1fb97d..797ea06 100644 (file)
@@ -30,7 +30,8 @@
  * without knowing the actual property type (STRING, DOUBLE, BINARY etc.).
  *
  * @package Extbase
  * without knowing the actual property type (STRING, DOUBLE, BINARY etc.).
  *
  * @package Extbase
- * @version $Id: Value.php 2191 2009-05-07 19:49:06Z k-fish $
+ * @subpackage Persistence
+ * @version $Id$
  * @scope prototype
  */
 class Tx_Extbase_Persistence_Value implements Tx_Extbase_Persistence_ValueInterface {
  * @scope prototype
  */
 class Tx_Extbase_Persistence_Value implements Tx_Extbase_Persistence_ValueInterface {
@@ -65,10 +66,14 @@ class Tx_Extbase_Persistence_Value implements Tx_Extbase_Persistence_ValueInterf
         */
        public function getString() {
                if ($this->value === NULL) return NULL;
         */
        public function getString() {
                if ($this->value === NULL) return NULL;
+               if (is_array($this->value)) return $this->value;
+               if ($this->value instanceof Tx_Extbase_DomainObject_AbstractDomainObject) {
+                       return (string)$this->value->getUid();
+               }
+
                switch ($this->type) {
                        case Tx_Extbase_Persistence_PropertyType::DATE:
                                if (is_a($this->value, 'DateTime')) {
                switch ($this->type) {
                        case Tx_Extbase_Persistence_PropertyType::DATE:
                                if (is_a($this->value, 'DateTime')) {
-                                       // FIXME Handling of DateTime Object
                                        return $this->value->format('U');
                                } else {
                                        $this->value = new DateTime($this->value);
                                        return $this->value->format('U');
                                } else {
                                        $this->value = new DateTime($this->value);
@@ -136,9 +141,9 @@ class Tx_Extbase_Persistence_Value implements Tx_Extbase_Persistence_ValueInterf
        }
 
        /**
        }
 
        /**
-        * Returns a \DateTime representation of this value.
+        * Returns a DateTime representation of this value.
         *
         *
-        * @return \DateTime A \DateTime representation of the value of this property.
+        * @return DateTime A DateTime representation of the value of this property.
         * @throws Tx_Extbase_Persistence_Exception_ValueFormatException if conversion to a \DateTime is not possible.
         * @throws Tx_Extbase_Persistence_Exception_RepositoryException if another error occurs.
         */
         * @throws Tx_Extbase_Persistence_Exception_ValueFormatException if conversion to a \DateTime is not possible.
         * @throws Tx_Extbase_Persistence_Exception_RepositoryException if another error occurs.
         */
@@ -150,7 +155,7 @@ class Tx_Extbase_Persistence_Value implements Tx_Extbase_Persistence_ValueInterf
                try {
                        return new DateTime($this->value);
                } catch (Exception $e) {
                try {
                        return new DateTime($this->value);
                } catch (Exception $e) {
-                       throw new Tx_Extbase_Persistence_Exception_ValueFormatException('Conversion to a \DateTime object is not possible. Cause: ' . $e->getMessage(), 1190034628);
+                       throw new Tx_Extbase_Persistence_Exception_ValueFormatException('Conversion to a DateTime object is not possible. Cause: ' . $e->getMessage(), 1190034628);
                }
        }
 
                }
        }