Я использую Firebase PHP Admin SDK: https://firebase -php.readthedocs.io / en / stable / realtime-database.html # update-specific-fields
Ниже приведен пример обновления определенных полей:
$uid = 'some-user-id';
$postData = [
'title' => 'My awesome post title',
'body' => 'This text should be longer',
];
// Create a key for a new post
$newPostKey = $db->getReference('posts')->push()->getKey();
$updates = [
'posts/'.$newPostKey => $postData,
'user-posts/'.$uid.'/'.$newPostKey => $postData,
];
$db->getReference() // this is the root reference
->update($updates);
С этого момента я создал класс пользователей, в котором у меня есть функция обновления. Вот так:
public function update() {
$data = array('users' => array('1' => 'David'));
$this->database->getReference()->update($data);
return true;
}
В моей базе данных есть такая структура:
![enter image description here](https://i.stack.imgur.com/SnMb1.png)
Теперь, если я запускаю эту функцию $users->update();
Это удаляет другого ребенка и оставляет только Дэвида. Вот так:
![enter image description here](https://i.stack.imgur.com/MbplU.png)
Как я могу обновить только определенное значение указанного ключа, не переопределяя другие данные?