stancl/virtualcolumn

Eloquent 虚拟列。

v1.4.1 2024-04-07 18:26 UTC

This package is auto-updated.

Last update: 2024-09-07 19:18:55 UTC


README

安装

支持 Laravel 9, 10, 11。

composer require stancl/virtualcolumn

用法

在您的模型上使用 VirtualColumn 特性

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',
        ];
    }
}

创建迁移

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

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

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

并在模型上存储任何数据

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