Как обновить определенный атрибут сущности в хранилище данных Google?

Я интегрирую API API хранилища данных в PHP. Я пытаюсь обновить объект в хранилище данных Google.

            $property_map [ 'full_name' ]        = set_string_value( isset($data [ 'full_name' ] ) ? $data [ 'full_name' ] : $data [ 'name' ] );
$property_map [ 'email' ]            = set_string_value( $data [ 'email' ] );
$property_map [ 'password' ]         = set_string_value( isset($data [ 'password' ] ) ? md5($data [ 'password' ]) : md5(rand()), true );
$property_map [ 'country' ]          = set_string_value( isset($data [ 'country' ] ) ? $data [ 'country' ] : 'null' );
$property_map [ 'timezone' ]         = set_string_value( isset($data [ 'timezone' ] ) ? $data [ 'timezone' ] : 'America/Chicago' );
$property_map [ 'type' ]             = set_string_value( 'free' );

Я должен предоставить все атрибуты, даже когда я пытаюсь обновить только одно поле, иначе все данные будут потеряны. Также, если я пытаюсь создать суб-сущность, скажем, logs Я не могу сохранить старые объекты, когда обновляю их новыми. Кто-нибудь может помочь?

Привет @Frank Да, я получил сущность по ключу, используя следующий код.

/*
*Function to lookup an entity.
*/
function lookup_request($entity_kind,$entity_id){
$instance = & get_instance();
$service  = set_google_datastore();
$req      = get_entity($entity_kind,$entity_id);
return $service->projects->lookup($instance->config->item('google_project_id'),$req,[]);
}

/*
*Function to set datatsore instance.
*/
function set_google_datastore(){
return new Google_Service_Datastore(google_set_client());

}
/*
*Function to set mutation to get entity.
*/
function get_entity($entity_kind,$entity_id){
$path = new Google_Service_Datastore_PathElement();
$path->setKind($entity_kind);
$path->setId($entity_id);

$key = new Google_Service_Datastore_Key();
$key->setPath([$path]);

$req = new Google_Service_Datastore_LookupRequest();
$req->setKeys($key);
return $req;
}

Используя приведенный выше код, я могу получить сущность. Теперь, что я должен сделать, чтобы обновить его? Я обновляю его используя setUpdate, Что я пропускаю Не могли бы вы объяснить?

2

Решение

Вы пытались получить объект по ключу, прежде чем обновлять его? Тогда вы сможете изменить его без потери свойств.

Также, если я пытаюсь создать дочернюю сущность, скажем, журналы, я не могу сохранить ее старые сущности при обновлении новой.

Позволяет позвонить вашей родительской сущности User и суб-сущность Log, Пытались ли вы иметь более одного объекта журнала на пользователя, возможно, с ключом времени создания (конечно, ключ пользователя является родительским)? По сути, вы добавляете не обновляющиеся объекты журнала для данного пользователя для каждого события.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]