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
Requires
- php: ^8.2|^8.3|^8.4|^8.5
- illuminate/support: ^11.0|^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^8.36|^9.15|^10.8
- phpunit/phpunit: ^10.0|^11.0
README
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
--modelto resolve the table name directly from an Eloquent model. - Advanced Filtering: Use
--onlyor--exceptto filter columns on the fly. - Relationship Discovery: Automatically detects
_idcolumns and adds commented-outwhenLoadedplaceholders. - 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.