2010-12-02 29 views
4

J'utilise Quercus pour exécuter php sur google app engine et j'utilise le code ci-dessous pour insérer de la valeur dans le datastore GAE (BigTable).comment utiliser com.google.appengine.api.datastore.Text

<?php 
import com.google.appengine.api.datastore; 
import com.google.appengine.api.datastore.Entity; 
import com.google.appengine.api.datastore.DatastoreServiceFactory; 

$entity = new Entity("test"); 
$entity->setProperty('story',' --- more than 500 char ---'); 
$dataService = DatastoreServiceFactory::getDatastoreService(); 
$dataService->put($entity); 
?> 

mais renvoie une erreur de flux car la valeur story est supérieure à 500 caractères

error: 
com.caucho.quercus.QuercusException: com.google.appengine.api.datastore.Entity.setProperty: story: String properties must be 500 characters or less. Instead, use com.google.appengine.api.datastore.Text, which can store strings of any length. 

Je ne connais rien à java. Quelqu'un at-il une idée de comment utiliser com.google.appengine.api.datastore.Text dans mon code php.

grâce

Répondre

5

Est-ce que ce travail?

<?php 
import com.google.appengine.api.datastore; 
import com.google.appengine.api.datastore.Entity; 
import com.google.appengine.api.datastore.DatastoreServiceFactory; 
import com.google.appengine.api.datastore.Text; 


$entity = new Entity("test"); 
$TextValue = new Text(' --- more than 500 char ---'); 
$entity->setProperty('story',$TextValue); 
$dataService = DatastoreServiceFactory::getDatastoreService(); 
$dataService->put($entity); 
?> 
+0

Oui! Fonctionne très bien. Merci – Questioner