mirror of
https://github.com/archtechx/virtualcolumn.git
synced 2025-12-12 22:34:03 +00:00
* 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>
55 lines
922 B
Markdown
55 lines
922 B
Markdown
# Eloquent Virtual Column
|
|
|
|
## Installation
|
|
|
|
Supports Laravel 9 and 10.
|
|
|
|
```
|
|
composer require stancl/virtualcolumn
|
|
```
|
|
|
|
## Usage
|
|
|
|
Use the `VirtualColumn` trait on your model:
|
|
```php
|
|
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:
|
|
```php
|
|
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:
|
|
|
|
```php
|
|
$myModel = MyModel::create(['foo' => 'bar']);
|
|
$myModel->update(['foo' => 'baz']);
|
|
```
|