2013-09-23 6 views
0

Je suis en train de passer de MongoDB à DynamoDB et l'un des défis auxquels je n'ai toujours pas trouvé de solution consiste à insérer des flottants.Insertion de float dans DynamoDB avec PHP

Je suis en train de faire quelque chose comme ceci:

list($usec, $sec) = explode(" ", microtime()); 
$timestamp = (float)$usec + (float)$sec; //1379914632.0291 
$array_to_insert = array('system_insert_time' => array('N' => $timestamp)); 

Je reçois une exception comme ceci:

Validation errors: [Item][system_insert_time][N] must be of type string 

Le champ dans la base de données est définie comme un numéro. Cela fonctionne bien si j'essaie d'insérer des entiers. Mais j'ai besoin de plus de précision que de secondes. L'insertion en tant que chaîne ne fonctionne pas, car je souhaite pouvoir obtenir des entrées de base de données supérieures à un horodatage spécifique.

Toute aide est grandement appréciée! Merci.

Répondre

0

On dirait que cela fonctionne si j'utilise number_format() sur l'horodatage avant l'insertion.

0

Vous avez déjà trouvé une solution, donc je peux ajouter ce type de coulée à chaîne serait une autre ...

$array_to_insert = array('system_insert_time' => array('N' => (string)$timestamp)); 
#                ^------^