【问题标题】:how to use FetchOptions in google app engine datastor如何在谷歌应用引擎数据存储中使用 FetchOptions
【发布时间】:2011-01-18 21:12:31
【问题描述】:

如何在php中使用FetchOptions函数?

我想知道如何在下面的查询代码中使用limitoffset函数?

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

$q = new Query('test');
//http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Query.html
//http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/FetchOptions.html

$q->addFilter('field1','EQUAL' ,'value1');
$dataService = DatastoreServiceFactory::getDatastoreService();
$prepared = $dataService->prepare($q);
foreach($prepared->asIterable() as $i) {
echo $field1 = $i->getProperty('field1');
echo $field2 = $i->getProperty('field2');
}
?>

【问题讨论】:

    标签: php google-app-engine google-cloud-datastore quercus


    【解决方案1】:
    import com.google.appengine.api.datastore.Query;
    import com.google.appengine.api.datastore.Query.FilterOperator;
    import com.google.appengine.api.datastore.Query.FilterOperator.EQUAL;
    import com.google.appengine.api.datastore.Query.FilterOperator.GREATER_THAN;
    import com.google.appengine.api.datastore.Query.FilterOperator.GREATER_THAN_OR_EQUAL;
    import com.google.appengine.api.datastore.Query.FilterOperator.IN;
    import com.google.appengine.api.datastore.Query.FilterOperator.LESS_THAN;
    import com.google.appengine.api.datastore.Query.FilterOperator.LESS_THAN_OR_EQUAL;
    import com.google.appengine.api.datastore.Query.FilterOperator.NOT_EQUAL;
    
    import com.google.appengine.api.datastore.Query.SortDirection.ASCENDING;
    import com.google.appengine.api.datastore.Query.SortDirection.DESCENDING;
    
    import com.google.appengine.api.datastore.DatastoreServiceFactory;
    
    // only way I got this working is to use java_class and put on variable or constant...
    define('FetchOptionsBuilder', java_class('com.google.appengine.api.datastore.FetchOptions$Builder'));
    
    // query
    $q = new Query('test');
    
    // filter
    $q->addFilter('field1', EQUAL, 'value1');
    
    // sort
    $q->addSort('field1', ASCENDING);
    
    // offset and count
    $dataService = DatastoreServiceFactory::getDatastoreService();
    $prepared = $dataService->prepare($q);
    echo $prepared->countEntities(FetchOptionsBuilder->withOffset(0));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-21
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      • 2021-09-15
      相关资源
      最近更新 更多