2010-12-09 42 views
2

我使用Quercus在谷歌應用程序引擎上運行PHP並使用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

DatastoreService.put()調用適用於創建和更新。應用程序引擎數據存儲不會在API級別區分它們。所以,你的第一個例子中的代碼也應該適用於更新。只需使用您從get()或查詢中獲得的現有實體即可。

至於刪除,我還沒有嘗試過,但根據您的示例代碼,$dataService->delete($key)$dataService->delete($entity->key())都應該工作,具體取決於您是否有密鑰或實體。

相關問題