jenssegers / model
一个类似Laravel Eloquent的模型类,适用于Laravel和其他框架
v1.5.3
2024-07-25 12:44 UTC
Requires
- illuminate/contracts: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^4.0|^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
README
此模型提供了一个类似Laravel Eloquent的基础类,可用于在Laravel或其他框架中构建自定义模型。
特性
- 访问器和修改器
- 模型到数组/JSON的转换
- 在数组/JSON转换中隐藏属性
- 受保护属性和填充属性
- 将访问器和修改器添加到数组/JSON转换
- 属性类型转换
您可以在https://laravel.net.cn/docs/eloquent上了解更多关于这些特性和原始Eloquent模型的信息。
安装
使用composer安装
composer require jenssegers/model
示例
use Jenssegers\Model\Model; class User extends Model { protected $hidden = ['password']; protected $guarded = ['password']; protected $casts = ['age' => 'integer']; public function save() { return API::post('/items', $this->attributes); } public function setBirthdayAttribute($value) { $this->attributes['birthday'] = strtotime($value); } public function getBirthdayAttribute($value) { return new DateTime("@$value"); } public function getAgeAttribute($value) { return $this->birthday->diff(new DateTime('now'))->y; } } $item = new User(array('name' => 'john')); $item->password = 'bar'; echo $item; // {"name":"john"}