| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace App;
- use Illuminate\Database\Eloquent\Model;
- use App\Traits\ModelLogChanging;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\BelongsToMany;
- class Requirement extends Model
- {
- use ModelLogChanging;
- use \App\Traits\ModelTimeFormat;
- use \Illuminate\Database\Eloquent\SoftDeletes;
- //
- public $fillable = [
- 'user_id',//状态
- 'content', //内容
- 'title', //标题
- 'score', //分数
- 'status',//状态
- 'began_at',//开始时间
- 'finished_at',//完成时间
- 'reviewed_at',//验收时间
- ];
- public $dates = [
- 'began_at',//开始时间
- 'finished_at',//完成时间
- 'reviewed_at',//验收时间
- ];
- static public $enums=[
- 'status'=>[
- ''=>0,
- '待接收'=>1,
- '开发中'=>2,
- '待验收'=>3,
- '验收通过'=>4,
- '验收未通过'=>5,
- '待审核'=>6,
- '已驳回'=>7,
- ],
- ];
- 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 creator(): BelongsTo
- {
- return $this->belongsTo(User::class,'user_id','id');
- }
- public function workers(): BelongsToMany
- {
- return $this->belongsToMany(User::class)
- ->using(RequirementUser::class)
- ->withPivot(['score']);
- }
- public function scopeFilter($query, $filters)
- {
- return $filters->apply($query);
- }
- }
|