liaosankai / eloquent-reinforce
该包最新版本(v0.0.1)没有提供许可证信息。
Laravel Eloquent 模型强化
v0.0.1
2018-05-16 09:55 UTC
Requires
- php: >=7.0.0
- jenssegers/date: ^3.3
- robinvdvleuten/ulid: ^1.1
Requires (Dev)
- orchestra/database: ^3.5
- orchestra/testbench: ^3.5
- phpunit/phpunit: ~7.0
- vlucas/phpdotenv: ~2.0
This package is auto-updated.
Last update: 2024-09-29 00:16:54 UTC
README
补充官方 Model 在项目缺少的功能
Ulid 主键 (HasUlidPrimaryKey)
停用 Model 原有的自动增长的数字主键方式,改用 robinvdvleuten/ulid
生成的 Ulid 字符串代替
多语言日期时间 (HasI18nAsDateTime)
原本 Model 在 $dates
中设置的字段将获取为 Carbon\Carbon
类型的数据,使用这个将支持多语言的 Jenssegers\Date\Date
替代
用法
以 User 模型为例,可以在 tests/Models
中找到这个类
use Illuminate\Database\Eloquent\Model;
use Liaosankai\EloquentReinforce\Traits\HasI18nAsDateTime;
use Liaosankai\EloquentReinforce\Traits\HasUlidPrimaryKey;
class User extends Model
{
use HasUlidPrimaryKey;
use HasI18nAsDateTime;
protected $dates = [
'last_login_at'
];
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
// 除了 id 之外的欄位預設值,應該在建構式透過設定 $attributes 屬性來初始化
// 避免資料庫忘記設定初始值,建議 Model 都應該定義每個欄位的初始值
$this->attributes['remark'] = 'Hello World!';
$this->attributes['last_login_at'] = time();
}
}