Xos*_*ose 6 laravel firebase google-cloud-firestore laravel-5.8
我已经使用firestore数据库安装了laravel 5.8和firebase项目。
"name": "laravel/framework",
"version": "v5.8.36",
Run Code Online (Sandbox Code Playgroud)
Firestore 数据库连接到 android 应用程序。应用程序从 Firestore 获取数据良好。比我想用 laravel 为 android 应用程序创建管理面板并想将 laravel 与该数据库集成。但不能这样做。
我做了什么:
安装php7.2
已安装 Laravel 5.8.*
添加了 php 扩展 gRPC*
composer require "grpc/grpc:^v1.1.0"
在 laravel 项目中添加 gRPC 作为 Composer 依赖项
已安装 composer require google/cloud-firestore
生成 Firebase Admin SDK json 文件并保存到 Laravel 的存储文件夹中
GOOGLE_APPLICATION_CREDENTIALS=/storage/files/progressive-yooung-team-firebase-adminsdk-ax7wi-d2a85ecabc.json
在 Laravel 的 .env 文件中添加了这个变量(生成 firebase admin SDK 的 json 文件)
已安装 composer require kreait/firebase-php ^4.35
创建控制器“VarController”代码:
<?php
namespace App\Http\Controllers;
use Kreait\Firebase\Factory;
class VarController extends Controller
{
public function index()
{
print_r("Output: 1");
$factory = new Factory();
print_r("Output: 2");
$firestore = $factory->createFirestore();
print_r("Output: 3");
$database = $firestore->database();
$userRef = $database->collection('users');
$snapshot = $userRef->document('Hus')->snapshot();
if($snapshot->exists()) {
printf('Document data:' . PHP_EOL);
print_r($snapshot->data());
}
print_r("Output: 4");
}
}
Run Code Online (Sandbox Code Playgroud)问题是,它不会从 Firestore文档“Hus”中获取数据并且它的数据存在:
用户 > Hus > 名称:“Husniddin”
我把print_r("Output: 1")
, Output: 2, etc... 为了知道问题出在哪里。在屏幕上我只看到:输出:1 输出:2。
另外不要忘记导入这些。
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
use \Kreait\Firebase\Database;
use Google\Cloud\Firestore\FirestoreClient;
Run Code Online (Sandbox Code Playgroud)
之后,调用ServiceAccount()
您的函数内部。
$serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/Firebase.json');
$firebase = (new Factory)
->withServiceAccount($serviceAccount);
$firestore = new FirestoreClient([
'projectId' => 'Your project name',
]);
$collectionReference = $firestore->collection('users');
$documentReference = $collectionReference->document('Search element from document');
$snapshot = $documentReference->snapshot();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6303 次 |
最近记录: |