2010-12-02 15 views
4

私はGoogleアプリケーションエンジンでphpを実行するためにQuercusを使用し、以下のコードを使用してGAEデータストア(BigTable)に値を挿入します。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); 
?> 

ストーリー値が500文字を超えているため、リターンフローエラーです。

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. 

私はJavaについて何も知らない。 誰も私のPHPコードでcom.google.appengine.api.datastore.Textを使用する任意のアイデアを持っていますか。

代わりに「のsetProperty」の第2パラメータに文字列を渡すのおかげ

答えて

5

ウィルこの作品:

は、ここに 'のsetProperty' の定義を参照してください?

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

はい!よく働く。ありがとう – Questioner