shankar/laravel-firebase-eloquent

Lightweight Eloquent-like models for Firebase Database.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/shankar/laravel-firebase-eloquent

dev-main 2025-11-15 13:21 UTC

This package is auto-updated.

Last update: 2025-11-15 13:23:48 UTC


README

Lightweight Eloquent-like models for Firebase Realtime Database with CRUD, where, whereIn, orderBy, limit, paginate, timestamps.
Supports Laravel 10/11/12.

Install (local path)

composer require shankar/laravel-firebase-db:@dev
php artisan vendor:publish --tag=firebase-db-config
  1. Configure .env:
FIREBASE_CREDENTIALS=/full/path/to/storage/app/firebase/credentials.json
FIREBASE_DATABASE_URL=https://your-project-id-default-rtdb.firebaseio.com
FIREBASE_DB_PER_PAGE=15
  1. Create a model:
use Shankar\FirebaseDb\Model;

class User extends Model
{
    protected string $collection = 'users';
    protected array $fillable = ['name','email','age'];
}

Usage

// Create
$user = User::create(['name'=>'Shankar','email'=>'a@b.com','age'=>27]);

// Find
$u = User::find($user->id);

// Update
$u->update(['age'=>28]);

// Delete
$u->delete();

// Query
$adults = User::where('age','>=',18)->orderBy('name')->limit(20)->get();

// whereIn + paginate
$list = User::whereIn('status',['active','trial'])->orderBy('created_at','desc')->paginate(10);

Pagination returns a normal LengthAwarePaginator, so in Blade just do: {{ $list->links() }}