PHP(Quercus経由)とエンティティ用の低レベルデータアクセスAPIを使用してGoogle AppEngineのデータストアにクエリを実行すると、エンティティが存在しないというエラーです。以前にデータストアに入れたとしても、そのエンティティは存在しません。PHP(Quercus経由)と低レベルAPIを使用してGoogle AppEngineのデータストアを照会していません
特定のエラーが"com.caucho.quercus.QuercusException:com.google.appengine.api.datastore.DatastoreService.get:試験(値1):いいえエンティティが鍵一致見つかりませんでした" である
をlink -
<?php
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.EntityNotFoundException;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;
$testkey = KeyFactory::createKey("Test", "value1");
$ent = new Entity($testkey);
$ent->setProperty("field1", "value2");
$ent->setProperty("field2", "value3");
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($ent);
echo "Data entered";
try
{
$ent = $dataService->get($testkey);
echo "Data queried - the results are \n";
echo "Field1 has value ".$ent->getProperty("field1")."\n";
echo "Field2 has value ".$ent->getProperty("field2")."\n";
}
catch(EntityNotFoundException $e)
{
echo("<br/>Entity test not found.");
echo("<br/>Stack Trace is:\n");
echo($e);
}
そして、ここでは詳細なスタックトレースだ - ここに関連するコードです。
このコードはJavaで正しく動作します(もちろん構文を変更した後)。私は何が間違っているのだろうか。
ありがとうございました。
コードを実行したときに何が起こったか教えてください。例外が発生する場合は、スタックトレースも含める必要があります。 –
申し訳ありません。スタックトレース - [リンク](http://pastebin.com/Cr30sR7k)です。 –
私はデータストアに入れたときにキーTest(value1)と一致するエンティティが見つからなかったと言うことで困惑しています。 –