protoqol/quasi

Generate smarter Laravel resources, directly, based on your database schema.

Installs: 72

Dependents: 0

Suggesters: 0

Security: 0

Stars: 22

Watchers: 1

Forks: 1

Open Issues: 0

pkg:composer/protoqol/quasi

2.0.0 2026-02-14 19:55 UTC

This package is auto-updated.

Last update: 2026-02-14 20:14:32 UTC


README

Quasi

Packagist Packagist

Features

  • Smarter Resource Generation: Automatically populate all columns in a Resource from your database table.
  • Table Name Guessing: Guesses the table name based on the resource name, or you can specify it manually.
  • Model Integration: Use --model to resolve the table name directly from an Eloquent model.
  • Advanced Filtering: Use --only or --except to filter columns on the fly.
  • Relationship Discovery: Automatically detects _id columns and adds commented-out whenLoaded placeholders.
  • Bulk Generation: Generate resources for all tables in your database with a single command.
  • Customisable Stubs: Publish and customise the resource stubs to match your project's style.
  • Fine-grained Control: Exclude specific fields globally via the configuration file or rely on automatic sensitive data hiding.

Installation

You can install the package via Composer:

composer require protoqol/quasi

You can publish the configuration file or the stubs with:

# Publish configuration
php artisan vendor:publish --tag=quasi-config

# Publish stubs for customization
php artisan vendor:publish --tag=quasi-stubs

Usage

Basic Usage

You can create a resource by specifying the name. The table name will be guessed automatically.

# Table name is guessed based on the resource name (e.g., 'users' for UserResource).
php artisan make:qresource UserResource 

# Explicitly provide the table name.
php artisan make:qresource UserResource --table=users

# Resolve table name from a model.
php artisan make:qresource UserResource --model=User

Advanced Filtering

Filter which columns should be included in the generated resource.

# Only include specific columns.
php artisan make:qresource UserResource --only=id,name,email

# Exclude specific columns.
php artisan make:qresource UserResource --except=deleted_at,internal_notes

Note: Common sensitive fields like password, token, secret, and remember_token are automatically excluded.

Bulk Generation

Generate resources for your entire database at once.

# Generate resources for all tables.
php artisan make:qresource --all

# Generate resources AND collections for all tables.
php artisan make:qresource --all --collection

Feedback, suggestions or issues?

Please open an issue on this repository. We're happy to hear back from you!

Developed by Protoqol.