/ / Ako vytvoriť predchodcu entity (google datastore) pomocou php? - php, google-app-engine, google-api, google-cloud-datastore, google-api-php-client

Ako vytvoriť predchodcu entity (google datastore) pomocou php? - php, google-app-engine, google-api, google-cloud-datastore, google-api-php-client

Pracujem na dátovej stanici Google. Musím vytvoriť Log druh subjektu, ktorý má user ako jeho materská spoločnosť. používam Google-api-php-client knižnica na integráciu API do php. Snažím sa vytvárať entity. Ak chcete vložiť entitu, ktorá používam nasledujúce funkcie.

/*
*Function to insert the entity into the google datastore.
*/
function google_set_insert($data) {

$field_set = $data["field_set"];
$entity_kind = $data["entity_kind"];
$entity_name = $data["entity_name"];

$entity = google_create_entity($field_set, $entity_kind, $entity_name);
$mutation = new Google_Service_Datastore_Mutation();
$mutation->setInsert($entity);
$req = new Google_Service_Datastore_CommitRequest();
$req->setMode("NON_TRANSACTIONAL");
$req->setMutations($mutation);
return $req;
}

Ale nemôžem vytvoriť predkov jednotky. Môžete mi povedať, čo mi chýba?

odpovede:

0 pre odpoveď č. 1

Odporúčame používať Google Cloud PHP knižnica klientov (pokiaľ nie ste na štandarde GAE).

Pri prvom vytvorení entity musíte pridať predkov, pretože nemôže byť zmenený, akonáhle bol pôvodne napísaný.

use GoogleCloudDatastoreDatastoreClient;

$datastore = new DatastoreClient();

$key = $datastore->key("Person", "Bob");
$key->ancestor("Parents", "Joe");
$entity = $datastore->entity($key, [
"firstName" => "Bob",
"lastName" => "Testguy"
]);

echo $entity["firstName"]; // "Bob"
$entity["location"] = "Detroit, MI";

Viac informácií nájdete v dokumentácii pre klávesy.