Мне нужно получить подобъект из ключа родителя. Я не знаю, даже если это возможно. Но я пробовал следующее:
public function get_service_details(){
$datastore = new Google\Cloud\Datastore\DatastoreClient(['projectId' => $this->config->item('google_project_id')]);
$key = $datastore->key($this->entity_kind);
$key->ancestor($this->parent_kind, $this->parent_key);
$server_config_details = $datastore->lookup($key);
return $server_config_details;
}
а также
public function get_service_details(){
$datastore = new Google\Cloud\Datastore\DatastoreClient(['projectId' => $this->config->item('google_project_id')]);
$ancestorKey = $datastore->key($this->parent_kind, $this->parent_key);
$query = $datastore->query()
->kind($this->entity_kind)
->hasAncestor($ancestorKey);
$server_config_details = $datastore->runQuery($query);
return $server_config_details;
}
Но в обоих вышеперечисленных случаях это ничего мне не вернуло. Не могли бы вы сказать мне, что мне не хватает?
$key = $datastore->key($this->entity_kind, $this->entity_key);
, он вернул мне результаты, но у меня есть случай, когда в родительском объекте (скажем,user
) у меня нет записи ключа его подобъекта, но Мне нужно получить подобъект (скажем,service
). Теперь, как я должен подойти к этому? Мне нужно получить подобъект, используя его родительский ключ. - person MKB   schedule 21.01.2017$ancestorKey
, как в вашем примере, вы можете просто вызватьhasAncestor($this->parent_key)
. - person Ed Davisson   schedule 23.01.2017