Esempio n. 1
0
 /**
  * Configure a Value parameter, based on the supplied object-type value
  *
  * @todo Re-use one Mapper instance
  *
  * @param \google\appengine\datastore\v4\Value $obj_val
  * @param object $mix_value
  */
 protected function configureObjectValueParamForQuery($obj_val, $mix_value)
 {
     if ($mix_value instanceof Entity) {
         $this->createMapper()->configureGoogleKey($obj_val->mutableKeyValue(), $mix_value);
     } elseif ($mix_value instanceof \DateTime) {
         $obj_val->setTimestampMicrosecondsValue($mix_value->format('Uu'));
     } elseif (method_exists($mix_value, '__toString')) {
         $obj_val->setStringValue($mix_value->__toString());
     } else {
         throw new \InvalidArgumentException('Unexpected, non-string-able object parameter: ' . get_class($mix_value));
     }
 }