[ '' => 0, '创建' => 1, '指派成功' => 2, '劳务接单' => 3, '任务完结' => 4, ], ]; function __construct(array $attributes = []) { foreach (self::$enums as &$enum) { $enum = $enum + array_flip($enum); } parent::__construct($attributes); } public function getStatusAttribute($value) { if (!$value) return ''; return self::$enums['status'][$value]; } public function setStatusAttribute($value) { if (!$value) return 0; $this->attributes['status'] = self::$enums['status'][$value]; } public function warehouse(): BelongsTo { return $this->belongsTo(Warehouse::class); } public function userWorkGroup(): BelongsTo { return $this->belongsTo(UserWorkgroup::class, 'user_workgroup_id', 'id'); } public function applyUser(): BelongsTo { return $this->belongsTo(User::class, 'apply_user_id', 'id'); } public function getArriveRateAttribute() { if (0 === $this->actual_num) { return '0'.'%'; } $apply_num = $this->man_num + $this->woman_num; $arrive_rate = $this->actual_num / $apply_num * 100; return number_format($arrive_rate, 1) . '%'; } public function scopeFilter($query, $filters) { return $filters->apply($query); } }