我使用Quercus在谷歌应用引擎上运行php,并使用下面的代码将值插入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);
?>
但返回流动错误,因为故事值超过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。
感谢
答案 0 :(得分:5)
这会有用吗?
<?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);
?>
答案 1 :(得分:1)
不是为'setProperty'的第二个参数传入字符串,而是创建一个新的com.google.appengine.api.datastore.Text并将其传入。
看起来你应该知道如何做到这一点。
请在此处查看“setProperty”的定义:http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity.html