【问题标题】:Delete and Update from google app engine datastore从谷歌应用引擎数据存储中删除和更新
【发布时间】:2010-12-09 17:08:06
【问题描述】:

我使用 Quercus 在谷歌应用引擎上运行 php,并使用 GAE LowLevel Api 连接数据存储。 我需要数据存储区中的 CRUD(创建、读取、更新、删除)示例 php 代码。 我有创建和阅读示例 php 代码。

创建数据存储条目

<?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('field1','value1');
$entity->setProperty('field2','value2');
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($entity);
?>

查询数据存储

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

$q = new Query('test');
//http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Query.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删除和更新数据存储区中的条目?

【问题讨论】:

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


    【解决方案1】:

    DatastoreService.put() 调用适用于创建和更新。应用引擎数据存储不会在 API 级别区分它们。因此,您的第一个示例中的代码也应该适用于更新。只需使用您从get() 或查询中获得的现有实体。

    至于删除,我没有尝试过,但根据您的示例代码,$dataService-&gt;delete($key) 和 $dataService-&gt;delete($entity-&gt;key()) 都应该可以工作,具体取决于您是否拥有密钥或实体。

    【讨论】:

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