fhusquinet/laravel-model-json-options

Store options as JSON values easily on your models.

3.0.0 2022-05-20 15:01 UTC

This package is auto-updated.

Last update: 2024-12-20 21:02:08 UTC


README

Latest Version on Packagist Total Downloads

If you are storing a lot of values, especially booleans, as columns in your database, and if this data is not always the same for each row you might want to consider using a JSON column. To ease up the usage of it, this package provides an easy way API toscope results from your database and getting/setting options. If you are used to Laravel's syntax you will be familiar with this one as well.

Installation

You can install the package via composer:

composer require fhusquinet/laravel-model-json-options

Usage

Add the HasOptions trait to your wanted models.

// App\Models\Article.php

namespace App\Models;

use FHusquinet\ModelOptions\Traits\HasOptions;
use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    use HasOptions;

You should also include the options column to the model's table using a migration.

Schema::table('articles', function (Blueprint $table) {
    $table->json('options')->nullable();
});

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email florian.husquinet@deegital.be instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.