1
0
Fork 0
mirror of https://github.com/archtechx/virtualcolumn.git synced 2025-12-12 15:54:03 +00:00
virtualcolumn/README.md
lukinovec 0b108903b5
Add L10 support, remove L6 and L8 support (#11)
* Add L10 support

* Update PHP version in ci.yml

* Update ci.yml

* Revert ci.yml changes

* Migrate PHPUnit XML config using "--migrate-configuration"

* Update phpunit.xml (delete cacheDirectory, use backupStaticAttributes instead of backupStaticProperties)

* Delete backupStaticAttributes

* Add PHP version matrix

* Use ci.yml from #12

* Correct Laravel matrix versions

* Revert ci.yml changes

* Use multiple PHP versions

* Update ci.yml

* Don't use PHP 8 with Laravel 10 in CI

* Update ci.yml

* Remove L6 and L8 support

* Use single PHP version in CI

* Update ci.yml

* Change matrix in ci.yml

* swap laravel 9 & 10

* Update README.md

---------

Co-authored-by: Samuel Štancl <samuel@archte.ch>
2023-02-16 11:34:42 +01:00

922 B

Eloquent Virtual Column

Installation

Supports Laravel 9 and 10.

composer require stancl/virtualcolumn

Usage

Use the VirtualColumn trait on your model:

use Illuminate\Database\Eloquent\Model;
use Stancl\VirtualColumn\VirtualColumn;

class MyModel extends Model
{
    use VirtualColumn;

    public $guarded = [];

    public static function getCustomColumns(): array
    {
        return [
            'id',
            'custom1',
            'custom2',
        ];
    }
}

Create a migration:

public function up()
{
    Schema::create('my_models', function (Blueprint $table) {
        $table->increments('id');

        $table->string('custom1')->nullable();
        $table->string('custom2')->nullable();

        $table->json('data');
    });
}

And store any data on your model:

$myModel = MyModel::create(['foo' => 'bar']);
$myModel->update(['foo' => 'baz']);