Удалить и обновить из хранилища данных Google App Engine - PullRequest
2 голосов
/ 09 декабря 2010

Я использую Quercus для запуска php на движке приложений Google и использую GAE LowLevel Api для подключения хранилища данных.Мне нужен пример php-кода для CRUD (создание, чтение, обновление, удаление) в хранилище данных.У меня есть Создать и прочитать пример 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?

1 Ответ

1 голос
/ 31 января 2011

вызов DatastoreService.put() работает как для создания, так и для обновления. хранилище данных ядра приложения не различает их на уровне API. поэтому код в вашем первом примере тоже должен работать для обновления. просто используйте существующую сущность, полученную из get() или запроса.

Что касается удаления, я не пробовал это, но на основе вашего примера кода, $dataService->delete($key) и $dataService->delete($entity->key()) должны работать, в зависимости от того, есть ли у вас ключ или сущность.

...