【发布时间】:2021-02-13 06:54:51
【问题描述】:
我正在将我的一些数据库数据保存到 Firebase 实时数据库中,但我无法获取/更新我存储的数据。
代码
这就是我在 firebase 中保存数据的方式
//...
$user->save();
//then
$factory = new Factory;
$firebase = $factory
->withServiceAccount(base_path(env('FIREBASE_CREDENTIALS')))
->withDatabaseUri('https://myapp-d54e6.firebaseio.com/');
$database = $firebase->createDatabase();
$newUser = $database
->getReference('user')
->push($user);
现在我在 firebase 中得到的是这样的:
正如您所见,firebase 将我的数据存储在自己的 uid 下,这让我很难找到和更新我的数据(这让我提出了这个问题)。
问题
现在在我的更新功能中,当我想找到我的用户并更新其数据时,我必须找到 firebase uid 然后获取这些数据。
在更新功能中我有:
$user->save();
// now that my DB is updated, start to update firebase
$factory = new Factory;
$firebase = $factory
->withServiceAccount(base_path(env('FIREBASE_CREDENTIALS')))
->withDatabaseUri('https://myapp-d54e6.firebaseio.com/');
$database = $firebase->createDatabase();
$getData = $database->getReference('users')->getvalue();
$userIDs = [];
foreach($getData as $userData) {
$userIDs [] = $userData['id'];
}
if(in_array($id, $userIDs )){
return $id;
} else {
return 'no';
}
// update part remained for after complete fetching my data..!
这个return $id返回用户ID而不是firebase uid(此时我得到的只是确定firebase中存在这样的数据:/)+我仍然没有这个用户的完整数据,因为我只做了数组上面 foreach 中的 ids。
问题
如何从 firebase 获取我的用户数据并进行更新?
【问题讨论】:
标签: php laravel firebase firebase-realtime-database