wendelladriel / laravel-model-completed
Laravel 辅助库,用于了解 Eloquent 模型的完成状态
v1.0.1
2022-12-27 12:35 UTC
Requires
- php: ^8.0
Requires (Dev)
- illuminate/database: ^7.0|^8.0|^9.0
- illuminate/support: ^7.0|^8.0|^9.0
- laravel/pint: ^1.0
- orchestra/testbench: ^7.15
- pestphp/pest: ^1.22
README
Laravel 辅助库,用于了解 Eloquent 模型的完成状态
安装
composer require wendelladriel/laravel-model-completed
用法
此包提供了一个特质:`\WendellAdriel\ModelCompleted\HasCompletionStatus`,您可以在您的 Eloquent 模型 中使用。
您还需要提供一个 protected array $required
属性,其中包含要考虑模型完成所需的属性列表。
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; use WendellAdriel\ModelCompleted\HasCompletionStatus; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable, HasCompletionStatus; protected $fillable = [ 'name', 'username', 'email', 'password', ]; protected array $required = [ 'name', 'email', 'password' ]; }
属性
此特质为 模型 添加了六个属性
required_fields
模型要被视为完整所需的字段列表(`$required` 属性或如果未设置 `$required` 属性则为 空数组)。
total_fields
要使模型被视为完整所需的字段数量。
filled_fields
已填写的所需字段数量。
empty_fields
空白的所需字段数量。
completion_percentage
模型的完成百分比。
is_complete
如果所有必需字段都已填写,则 模型 被视为完整。
方法
您可以使用以下方法在需要时将其附加到 模型 上
withCompletionStatus
将 required_fields
和 is_complete
属性附加到 模型 上。
withCompletionCounts
将 required_fields
、total_fields
、filled_fields
、empty_fields
和 completion_percentage
属性附加到 模型 上。
withCompletionInfo
将 required_fields
、total_fields
、filled_fields
、empty_fields
、completion_percentage
和 is_complete
属性附加到 模型 上。
鸣谢
贡献
所有 PR 都受欢迎。
对于重大更改,请先创建一个问题,描述您要添加/更改的内容。