0

私のプロジェクトはArticle種類です。次に、Block種類があります。各Blockには、親エンティティとしての記事があります。したがって、各記事はいくつかのエンティティで構成されています。各Blockは、というプロパティーを持つので、エンドユーザーはそれらを注文することができます。Google Cloud Datastoreで1つのプロパティ値のみを更新する方法はありますか?

フロントエンドでは、新しいBlockを追加したり、既存のものを更新したりすることができます。明らかに、Blockを上に動かすことによって、それはそれ自身の順序を変更するが、致命的に変化し、後続の各Blockエンティティも変更(+1)する。

これまでのところ、ユーザーが保存したすべての更新に対して、私はすべてBlock個のエンティティを新しく保存されたもの以上のオーダーで検索し、それぞれを更新します。

PHPライブラリを使用して1つのプロパティ(order)を単純に更新する方法はありますか?

答えて

0

いいえ、エンティティのプロパティだけを更新することはできません。エンティティ全体を更新する必要があります。

既存のエンティティを更新するには、エンティティ 以前に取得され、キーを使用してストアのプロパティ変更:Updating an entityから

$transaction = $datastore->transaction(); 
$key = $datastore->key('Task', 'sampleTask'); 
$task = $transaction->lookup($key); 
$task['priority'] = 5; 
$transaction->upsert($task); 
$transaction->commit(); 

を提供されたデータは、既存のエンティティを上書き。オブジェクト 全体をCloud Datastoreに送信する必要があります。 [...]

**Note:** To delete a property, remove the property from the entity, then save the entity. 
関連する問題