1
0
Fork 0
mirror of https://github.com/archtechx/virtualcolumn.git synced 2025-12-12 05:14:05 +00:00
Eloquent Virtual Column package.
Find a file
Nick 65f9000328
Handle encrypted columns which are set to null (#19)
* 🧪 Add a test for a null value

* 🐛 Don't consider null types for decryption
2024-04-07 20:26:29 +02:00
.github/workflows Laravel 11 support (#17) 2024-01-27 22:49:31 +01:00
src Handle encrypted columns which are set to null (#19) 2024-04-07 20:26:29 +02:00
tests Handle encrypted columns which are set to null (#19) 2024-04-07 20:26:29 +02:00
.gitattributes Initial commit 2020-07-06 14:25:02 +02:00
.gitignore wip 2022-01-26 21:54:10 +05:00
.php-cs-fixer.php wip 2022-01-26 21:54:10 +05:00
check wip 2022-01-26 21:54:10 +05:00
composer.json Laravel 11 support (#17) 2024-01-27 22:49:31 +01:00
LICENSE Initial commit 2020-07-06 14:25:02 +02:00
phpunit.xml Add encrypted casts support + allow using the trait on multiple models (#14) 2023-11-08 10:08:34 +01:00
phpunit.xml.bak Add encrypted casts support + allow using the trait on multiple models (#14) 2023-11-08 10:08:34 +01:00
README.md Laravel 11 support (#17) 2024-01-27 22:49:31 +01:00

Eloquent Virtual Column

Installation

Supports Laravel 9, 10, 11.

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']);