mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-19 10:33:11 +00:00
feat: add support for AsEnumCollection casts (#1557)
* Adding support for casting to AsEnumCollection * Adding missing string to advanced_casts table for enum_collection * Added to snapshots and ArrayCastsWithComment * Update CHANGELOG.md * Reverted automated whitespace, strict changes * Updated test snapshots, tests passing * Whitespace revert --------- Co-authored-by: Barry vd. Heuvel <[email protected]>
This commit is contained in:
co-authored by
Barry vd. Heuvel
parent
67c00c0978
commit
672acce5ae
+1
-1
@@ -13,9 +13,9 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
- Add type to pivot when using a custom pivot class [#1518 / d3v2a](https://github.com/barryvdh/laravel-ide-helper/pull/1518)
|
- Add type to pivot when using a custom pivot class [#1518 / d3v2a](https://github.com/barryvdh/laravel-ide-helper/pull/1518)
|
||||||
|
- Add support for AsEnumCollection casts [#1557 / Braunson](https://github.com/barryvdh/laravel-ide-helper/pull/1557)
|
||||||
- Support for Attribute class in attributes [#1567 / stefanScrumble](https://github.com/barryvdh/laravel-ide-helper/pull/1567)
|
- Support for Attribute class in attributes [#1567 / stefanScrumble](https://github.com/barryvdh/laravel-ide-helper/pull/1567)
|
||||||
|
|
||||||
|
|
||||||
2024-03-01, 3.0.0
|
2024-03-01, 3.0.0
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
|
|||||||
use Illuminate\Contracts\Database\Eloquent\CastsInboundAttributes;
|
use Illuminate\Contracts\Database\Eloquent\CastsInboundAttributes;
|
||||||
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
|
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
|
||||||
use Illuminate\Database\Eloquent\Casts\AsCollection;
|
use Illuminate\Database\Eloquent\Casts\AsCollection;
|
||||||
|
use Illuminate\Database\Eloquent\Casts\AsEnumCollection;
|
||||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@@ -409,6 +410,7 @@ class ModelsCommand extends Command
|
|||||||
$realType = '\Carbon\CarbonImmutable';
|
$realType = '\Carbon\CarbonImmutable';
|
||||||
break;
|
break;
|
||||||
case AsCollection::class:
|
case AsCollection::class:
|
||||||
|
case AsEnumCollection::class:
|
||||||
case 'collection':
|
case 'collection':
|
||||||
$realType = '\Illuminate\Support\Collection';
|
$realType = '\Illuminate\Support\Collection';
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\AdvancedCasts\Mo
|
|||||||
|
|
||||||
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
|
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
|
||||||
use Illuminate\Database\Eloquent\Casts\AsCollection;
|
use Illuminate\Database\Eloquent\Casts\AsCollection;
|
||||||
|
use Illuminate\Database\Eloquent\Casts\AsEnumCollection;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class AdvancedCast extends Model
|
class AdvancedCast extends Model
|
||||||
@@ -24,6 +25,7 @@ class AdvancedCast extends Model
|
|||||||
'cast_to_encrypted_json' => 'encrypted:json',
|
'cast_to_encrypted_json' => 'encrypted:json',
|
||||||
'cast_to_encrypted_object' => 'encrypted:object',
|
'cast_to_encrypted_object' => 'encrypted:object',
|
||||||
'cast_to_as_collection' => AsCollection::class,
|
'cast_to_as_collection' => AsCollection::class,
|
||||||
|
'cast_to_as_enum_collection' => AsEnumCollection::class,
|
||||||
'cast_to_as_array_object' => AsArrayObject::class,
|
'cast_to_as_array_object' => AsArrayObject::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\AdvancedCasts\Mo
|
|||||||
|
|
||||||
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
|
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
|
||||||
use Illuminate\Database\Eloquent\Casts\AsCollection;
|
use Illuminate\Database\Eloquent\Casts\AsCollection;
|
||||||
|
use Illuminate\Database\Eloquent\Casts\AsEnumCollection;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -24,12 +25,14 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
* @property array $cast_to_encrypted_json
|
* @property array $cast_to_encrypted_json
|
||||||
* @property object $cast_to_encrypted_object
|
* @property object $cast_to_encrypted_object
|
||||||
* @property \Illuminate\Support\Collection $cast_to_as_collection
|
* @property \Illuminate\Support\Collection $cast_to_as_collection
|
||||||
|
* @property \Illuminate\Support\Collection $cast_to_as_enum_collection
|
||||||
* @property \ArrayObject $cast_to_as_array_object
|
* @property \ArrayObject $cast_to_as_array_object
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast newModelQuery()
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast newModelQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast newQuery()
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast newQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast query()
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast query()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToAsArrayObject($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToAsArrayObject($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToAsCollection($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToAsCollection($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToAsEnumCollection($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToCustomDatetime($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToCustomDatetime($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToDateSerialization($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToDateSerialization($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToDatetimeSerialization($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|AdvancedCast whereCastToDatetimeSerialization($value)
|
||||||
@@ -60,6 +63,7 @@ class AdvancedCast extends Model
|
|||||||
'cast_to_encrypted_json' => 'encrypted:json',
|
'cast_to_encrypted_json' => 'encrypted:json',
|
||||||
'cast_to_encrypted_object' => 'encrypted:object',
|
'cast_to_encrypted_object' => 'encrypted:object',
|
||||||
'cast_to_as_collection' => AsCollection::class,
|
'cast_to_as_collection' => AsCollection::class,
|
||||||
|
'cast_to_as_enum_collection' => AsEnumCollection::class,
|
||||||
'cast_to_as_array_object' => AsArrayObject::class,
|
'cast_to_as_array_object' => AsArrayObject::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ class SimpleCast extends Model
|
|||||||
'cast_to_array' => 'array',
|
'cast_to_array' => 'array',
|
||||||
'cast_to_json' => 'json',
|
'cast_to_json' => 'json',
|
||||||
'cast_to_collection' => 'collection',
|
'cast_to_collection' => 'collection',
|
||||||
|
'cast_to_enum_collection' => 'collection',
|
||||||
'cast_to_date' => 'date',
|
'cast_to_date' => 'date',
|
||||||
'cast_to_datetime' => 'datetime',
|
'cast_to_datetime' => 'datetime',
|
||||||
'cast_to_date_serialization' => 'date:Y-m-d',
|
'cast_to_date_serialization' => 'date:Y-m-d',
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ class SimpleCast extends Model
|
|||||||
'cast_to_array' => 'array',
|
'cast_to_array' => 'array',
|
||||||
'cast_to_json' => 'json',
|
'cast_to_json' => 'json',
|
||||||
'cast_to_collection' => 'collection',
|
'cast_to_collection' => 'collection',
|
||||||
|
'cast_to_enum_collection' => 'collection',
|
||||||
'cast_to_date' => 'date',
|
'cast_to_date' => 'date',
|
||||||
'cast_to_datetime' => 'datetime',
|
'cast_to_datetime' => 'datetime',
|
||||||
'cast_to_date_serialization' => 'date:Y-m-d',
|
'cast_to_date_serialization' => 'date:Y-m-d',
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ class AdvancedCastsTable extends Migration
|
|||||||
$table->string('cast_to_encrypted_json');
|
$table->string('cast_to_encrypted_json');
|
||||||
$table->string('cast_to_encrypted_object');
|
$table->string('cast_to_encrypted_object');
|
||||||
$table->string('cast_to_as_collection');
|
$table->string('cast_to_as_collection');
|
||||||
|
$table->string('cast_to_as_enum_collection');
|
||||||
$table->string('cast_to_as_array_object');
|
$table->string('cast_to_as_array_object');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user