supportpal / eloquent-model
An Laravel eloquent-like model class, for Laravel and other frameworks
v1.0.0
2024-05-29 17:16 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.7.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
- slevomat/coding-standard: ^8.15
- squizlabs/php_codesniffer: ^3.5
- supportpal/coding-standard: ^0.4
This package is auto-updated.
Last update: 2024-10-29 18:08:45 UTC
README
This model provides an Laravel eloquent-like base class that can be used to build custom models in Laravel or other frameworks.
Features
- Accessors and mutators
- Model to Array and JSON conversion
- Hidden attributes in Array/JSON conversion
- Guarded and fillable attributes
- Appending accessors and mutators to Array/JSON conversion
- Attribute casting
You can read more about these features and the original Eloquent model on http://laravel.com/docs/eloquent
Installation
Install using composer:
composer require jenssegers/model
Example
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"}