Compare commits

...
Author SHA1 Message Date
Ramon DantasandBarry vd. Heuvel 800e2347a6 feat: use numeric type on fields with decimal casts (#1583)
* feat: use `numeric` type on fields with `decimal` casts

* docs: update CHANGELOG.md

---------

Co-authored-by: Barry vd. Heuvel <[email protected]>
2024-10-28 12:32:31 +01:00
Barry vd. Heuvel 7549f58a30 Smarter reset (#1603)
* Smarter reset

* Changelog

* Fix phpdocs
2024-10-28 12:21:53 +01:00
6 changed files with 29 additions and 5 deletions
+4 -1
View File
@@ -6,7 +6,10 @@ All notable changes to this project will be documented in this file.
-------------- --------------
### Changed ### Changed
Add support for multiple pivot types when using the same accessor. - Add support for multiple pivot types when using the same accessor.
- Smarter reset, keep tags that IDE helper doesn't use
- Use `numeric` type on fields with `decimal` casts
2024-10-18, 3.2.0 2024-10-18, 3.2.0
-------------- --------------
+11 -3
View File
@@ -381,6 +381,8 @@ class ModelsCommand extends Command
$realType = 'bool'; $realType = 'bool';
break; break;
case 'decimal': case 'decimal':
$realType = 'numeric';
break;
case 'string': case 'string':
case 'hashed': case 'hashed':
$realType = 'string'; $realType = 'string';
@@ -945,13 +947,19 @@ class ModelsCommand extends Command
$reflection->getParentClass()->getInterfaceNames() $reflection->getParentClass()->getInterfaceNames()
); );
$phpdoc = new DocBlock($reflection, new Context($namespace));
if ($this->reset) { if ($this->reset) {
$phpdoc = new DocBlock('', new Context($namespace));
$phpdoc->setText( $phpdoc->setText(
(new DocBlock($reflection, new Context($namespace)))->getText() (new DocBlock($reflection, new Context($namespace)))->getText()
); );
} else { foreach ($phpdoc->getTags() as $tag) {
$phpdoc = new DocBlock($reflection, new Context($namespace)); if (
in_array($tag->getName(), ['property', 'property-read', 'property-write', 'method', 'mixin'])
|| ($tag->getName() === 'noinspection' && in_array($tag->getContent(), ['PhpUnnecessaryFullyQualifiedNameInspection', 'PhpFullyQualifiedNameUsageInspection']))
) {
$phpdoc->deleteTag($tag);
}
}
} }
$properties = []; $properties = [];
@@ -9,7 +9,13 @@ use Illuminate\Database\Eloquent\Model;
/** /**
* Text of existing phpdoc * Text of existing phpdoc
* *
* @implements \ArrayAccess
* @noinspection PhpUnreachableStatementInspection
* @noinspection PhpUnnecessaryFullyQualifiedNameInspection
* @property string $foo * @property string $foo
* @property-read string $bar
* @method fooBar()
* @mixin \Eloquent
*/ */
class Simple extends Model class Simple extends Model
{ {
@@ -9,7 +9,12 @@ use Illuminate\Database\Eloquent\Model;
/** /**
* Text of existing phpdoc * Text of existing phpdoc
* *
* @implements \ArrayAccess
* @noinspection PhpUnreachableStatementInspection
* @noinspection PhpUnnecessaryFullyQualifiedNameInspection
* @property string $foo * @property string $foo
* @property-read string $bar
* @method fooBar()
* @property int $id * @property int $id
* @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newQuery() * @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newQuery()
@@ -9,6 +9,8 @@ use Illuminate\Database\Eloquent\Model;
/** /**
* Text of existing phpdoc * Text of existing phpdoc
* *
* @implements \ArrayAccess
* @noinspection PhpUnreachableStatementInspection
* @property int $id * @property int $id
* @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newQuery() * @method static \Illuminate\Database\Eloquent\Builder<static>|Simple newQuery()
@@ -14,7 +14,7 @@ use Illuminate\Database\Eloquent\Model;
* @property float $cast_to_real * @property float $cast_to_real
* @property float $cast_to_float * @property float $cast_to_float
* @property float $cast_to_double * @property float $cast_to_double
* @property string $cast_to_decimal * @property numeric $cast_to_decimal
* @property string $cast_to_string * @property string $cast_to_string
* @property bool $cast_to_bool * @property bool $cast_to_bool
* @property bool $cast_to_boolean * @property bool $cast_to_boolean