roddy / firestore-eloquent
Firestore Eloquent, an object-relational mapper (ORM) that makes it enjoyable to interact with your database. When using Eloquent, each firestore collection has a corresponding "Model"/"Class" that is used to interact with that collection. In addition to retrieving records from the firestore collect
Fund package maintenance!
Buy Me A Coffee
Requires
- php: ^8.1
- google/cloud-firestore: *
- google/cloud-storage: *
README
This package is a customized version of Laravel Eloquent designed for seamless integration with Google Firestore within Laravel applications. Firestore boasts exceptional scalability and speed, but it provides a more limited feature set compared to conventional SQL databases.
Table of Contents
Requirements
- PHP >= 8.1
- gRPC extension
- Any requirements found on Cloud Firestore for PHP
- Laravel >= 9 (Recommeded Latest Laravel)
- Composer
Installation
-
Install this package using composer
composer require roddy/firestore-eloquent
-
Add the following line to the service providers array within your config/app.php file:
Roddy\FirestoreEloquent\Providers\FModelProvider::class,
-
Copy and paste this to your .env file and replace
path/to/firebase-credentials.json
with the path to your credentials json file.GOOGLE_APPLICATION_CREDENTIALS=path/to/firebase-credentials.json
-
Copy and paste this to your .env file and replace
https://<your-project>.firebaseio.com
with the database URL for your project. You can find the database URL for your project at https://console.firebase.google.com/u/project/_/settings/generalFIREBASE_DATABASE_URL=https://<your-project>.firebaseio.com
-
Copy and paste this to your .env file and replace
your-project-id
with your project id.FIREBASE_PROJECT_ID=your-project-id
-
Publish the package configuration using Artisan
php artisan vendor:publish --provider="Roddy\FirestoreEloquent\Providers\FModelProvider" --force
You can locate the configuration file in config/firebase.php
.
Documentation
Visit Laravel Firestore Eloquent for documentation.
OR
Use this link https://firestore-eloquent.netlify.app/
Limitations
Limitations for documentation.
TODO
Todo for documentation.
License
The MIT License (MIT). Please see License File for more information.
Acknowledgments
- Laravel
- Google Cloud Firestore
- Google Cloud Firestore PHP Client Documentation
- Google gRpc
- Google Cloud Firestore Storage
- PHP
Contributors
Code Contributors
This project exists thanks to all the people who contribute. [Contribute].
Financial Contributors
Become a financial contributor and help us sustain our community.