سؤال

يمكنني استخدام Quercus لتشغيل PHP على محرك تطبيق Google وأستخدم الرمز أدناه لإدراج قيمة إلى GAE Datastore (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.

لا أعرف أي شيء عن جافا. هل لدى أي شخص أي فكرة عن كيفية استخدامه com.google.appengine.api.datastore.text في رمز PHP الخاص بي.

شكرًا

هل كانت مفيدة؟

المحلول

هل سيعمل هذا؟

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

نصائح أخرى

بدلاً من تمرير سلسلة للمعلمة الثانية من "setProperty" ، قم بإنشاء com.google.appengine.api.datastore.text وتمرير ذلك.

يبدو أنك يجب أن تعرف كيفية القيام بذلك.

انظر تعريف "setProperty" هنا: http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/entity.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top