将Firebase数据库连接到laravel应用

时间:2019-08-28 10:20:32

标签: laravel firebase firebase-realtime-database

我正在尝试使用Firebase实时数据库作为laravel项目的数据库。我的问题是无法在我的应用程序中使用laravel的数据库外观。

我使用服务,服务接口和控制器来创建firebase数据库对象。但是如果没有DB Facade,我实际上并没有使用模型和迁移,而对我来说,唯一的方法是将数据直接放入Firebase数据库对象中。

我的Firebase服务:

    class FirebaseService implements FirebaseServiceInterface
    {
    protected $firebase;

    public function connect(){
      $serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/myproject.json');
      $this->firebase = (new Factory)
          ->withServiceAccount($serviceAccount)
          ->withDatabaseUri('https://myproject.firebaseio.com')
          ->create();
          return $this->firebase;
    }
}

界面:

    interface FirebaseServiceInterface
    {
        public function connect();
    }

我的模型控制器:

   class ModelController extends Controller
   {
   //
   public function index(FirebaseServiceInterface $firebase_service){
     $firebase=$firebase_service->connect();
     $db = $firebase->getDatabase();
     $db->getReference('Models/model')
      ->set([
          'name' => 'My Application',
          'emails' => 'My email',
         ]);

         return view('main/test');
   }

   }

我希望对DB Facade的引用使我有了firebase数据库,这样我就可以使用DB :: insert和php artisan migration这样的命令。

0 个答案:

没有答案