0
我已經採用瞭如下所示的Datastore實體。如何獲取數據存儲區的密鑰實體
$query = $Datastore->query()
->kind('Test')
->filter('User', '=', $_POST['txtMail'])
->filter('Password', '=', $_POST['txtPwd']);
$result = $Datastore->runQuery($query);
我想取鑰匙/實體/實體來說在$ result中的鑰匙,但如果我這樣做:
$Entity->key();
返回0(零實體$結果)和1, 2,3,...如果我有一個或多個實體。 我的資料儲存庫實體是這樣的:
ID/Name | User | Password
Numeric AutoGen. | String | String
我想要做的是這樣的:
$query = $Datastore->query()
->kind('Test')
->filter('User', '=', $_POST['txtMail'])
->filter('Password', '=', $_POST['txtPwd']);
$result = $Datastore->runQuery($query);
foreach ($result as $entity){
/*how to get entity key from here*/
}
' - > key()'方法是正確的,請參閱https://github.com/GoogleCloudPlatform/google-cloud-php-datastore/blob/master/Entity.php#L158。其他事情正在發生。 –
好的,但爲什麼如果我做一個查詢如「選擇*從X其中User ='[email protected]'和密碼='xxxxxxxx'」我期望的關鍵值是5659118702428160,但如果我打印出實體 - >鍵()值是1? – PhilCaser
密鑰不是普通值,它們是密鑰種類和密鑰ID對的列表。密鑰ID可能是您提到的那些整數。我不知道PHP,所以我不能說出你究竟打印了什麼,或者它爲什麼看起來像這樣。請查看https://cloud.google.com/datastore/docs/concepts/entities#levels_of_parents,這些是關鍵。不是普通的整數 –