Connection Firebase Firestore to laravel
我已经安装了laravel 5.8和带有Firestore数据库的firebase项目。
1 2 | "name":"laravel/framework", "version":"v5.8.36", |
Firestore数据库已连接到android应用。应用程序可从Firestore提取良好的数据。比我想使用laravel为Android应用程序创建管理面板,并想将laravel与该数据库集成。但是无法做到这一点。
我做了什么:
已安装php7.2
已安装laravel 5.8。*
添加了php扩展名gRPC *
在laravel项目中添加了gRPC作为Composer依赖项
已安装
生成的Firebase Admin SDK json文件并保存到laravel中的存储文件夹中
在laravel的.env文件中添加了此变量
已安装
已创建的控制器" VarController"代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?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文档'Hus'中获取数据,并且其数据存在:
users > Hus > name:"Husniddin"
我放了
也不要忘记导入这些。
1 2 3 4 | use Kreait\\Firebase\\Factory; use Kreait\\Firebase\\ServiceAccount; use \\Kreait\\Firebase\\Database; use Google\\Cloud\\Firestore\\FirestoreClient; |
然后,在函数内调用
1 2 3 4 5 6 7 8 9 10 | $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(); |
更改
至