Domanda

io uso Quercus per eseguire PHP su Google App Engine e io uso e di seguito il codice per inserire il valore per il datastore GAE (BigTable).

<?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);
?>

, ma di ritorno di errore scorre perché il valore storia è più di 500 char.

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.

Non so nulla su Java. Qualcuno ha qualche idea di come l'uso com.google.appengine.api.datastore.Text nel mio codice php.

grazie

È stato utile?

Soluzione

Sarà questo lavoro?

<?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);
?>

Altri suggerimenti

Invece di passare in una stringa per il secondo parametro di 'setProperty', creare un nuovo com.google.appengine.api.datastore.Text e passare che nel.

Sembra che si dovrebbe sapere come fare.

Vedere la definizione di 'setProperty' qui: http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top