jgrossi / laravel-mutable
轻松更改模型属性值
0.1.1
2017-07-20 17:40 UTC
Requires
- illuminate/database: ~5.0
Requires (Dev)
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2024-09-21 20:31:00 UTC
README
使用简单且干净的方式更改 Laravel 模型的
toArray()
值
安装
composer require jgrossi/laravel-mutable
用法
首先将 Mutable
特性添加到您想要更改值的模型中
use Jgrossi\Mutable\Mutable; class User extends Eloquent { use Mutable; }
然后在您的应用程序中的任何位置创建一个 UserMutator
类(或者如果您更喜欢,可以给它其他名称)。然后设置模型中的 $mutator
属性
use App\Models\Mutators\UserMutator; use Jgrossi\Mutable\Mutable; class User extends Eloquent { use Mutable; protected $mutator = UserMutator::class; }
在您的修改类中,您可能有一个针对您想要更改的每个属性的方法
namespace App\Models\Mutators; use Carbon\Carbon; use Jgrossi\Mutable\Mutator; class UserMutator extends Mutator { public function firstName($value) { return ucfirst($value); } public function createdAt(Carbon $date) { return $date->format('Y-m-d'); } }
然后当使用 $user->toArray()
时,您将看到 first_name
属性已更改。
class FooController extends Controller { public function show($id) { $user = User::findOrFail($id); return $user; // returns the changed User as array } }
许可证
MIT 许可证 © Junior Grossi