grummfy/ eloquent-extended-cast-model
这个库帮助你更高级地对eloquent模型进行转换。
1.0.2
2018-11-29 14:00 UTC
Requires
- laravel/framework: ~5.7
This package is auto-updated.
Last update: 2024-08-28 17:51:18 UTC
README
这个库帮助你更高级地对eloquent模型进行转换。
兼容laravel 5.4及以上版本。
已在laravel 5.4, 5.5, 5.6和5.7上测试。
安装
composer require grummfy/eloquent-extended-cast-model
用法
使用特性来简化自定义转换在模型中的使用。有两个特性
- CastableModel: 允许你使用自定义转换
- JsonCollectionCastable: 允许你在转换中使用JSON集合
请参阅示例目录以查看可能的用法。
模型中的自定义转换
- 在模型中添加特性
CastableModel
- 在模型的$cast属性中,添加你的字段和自定义转换
'fooField' => 'bar'
- 添加两个方法:
toBar
和fromBar
(Bar与$cast属性中存在的名称相同)
如果你想给你的转换方法添加一些额外的值(如JsonReadOnlyCollection中所做的那样),你可以填充你的模型中的属性$castParameters
:'fooField' => ['argument1', 'argument2']
。
转换JsonReadOnlyCollection
这个库自带了一个JSON集合。这是一个存储在JSON中的值集合。与值对象集合一起使用很方便。
待办事项
- 单元测试
- QA工具
- travis
- styleci
- scrutinizer
- ...
注意
基本想法受到了https://github.com/reliese/laravel/blob/master/src/Database/Eloquent/Model.php的启发。