【发布时间】:2020-04-19 21:44:22
【问题描述】:
我已经安装了 laravel 5.8 和带有 firestore 数据库的 firebase 项目。
"name": "laravel/framework",
"version": "v5.8.36",
Firestore 数据库已连接到 Android 应用。应用程序从 Firestore 获取数据。比我想用 laravel 为 android 应用程序创建管理面板,并想将 laravel 与该数据库集成。但不能这样做。
我做了什么:
已安装php7.2
已安装 laravel 5.8.*
添加了 php 扩展 gRPC*
在 laravel 项目中添加 gRPC 作为 Composer 依赖
composer require "grpc/grpc:^v1.1.0"已安装
composer require google/cloud-firestore生成 Firebase Admin SDK json 文件并保存到 laravel 的 storage 文件夹中
在 laravel 的 .env 文件中添加了这个变量
GOOGLE_APPLICATION_CREDENTIALS=/storage/files/progressive-yooung-team-firebase-adminsdk-ax7wi-d2a85ecabc.json(生成 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"); } }
问题是,它不从 firestore document 'Hus' 获取数据,并且它的数据存在:
用户 > Hus > 名称:“Husniddin”
我输入了print_r("Output: 1"),输出:2,等等...以便知道问题出在哪里。在屏幕上我只看到:输出:1 输出:2。
【问题讨论】:
标签: laravel firebase google-cloud-firestore laravel-5.8