grummfy/eloquent-extended-cast-model

这个库帮助你更高级地对eloquent模型进行转换。

1.0.2 2018-11-29 14:00 UTC

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'
  • 添加两个方法:toBarfromBar (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的启发。