CoachInfoRecord.php 1019 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Models;
  3. use App\Enums\TechnicianAuthStatus;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. use Slowlyo\OwlAdmin\Models\BaseModel as Model;
  6. /**
  7. * 技师信息记录
  8. */
  9. class CoachInfoRecord extends Model
  10. {
  11. use SoftDeletes;
  12. protected $table = 'coach_info_records';
  13. protected $guarded = [];
  14. /**
  15. * 应该被转换为原生类型的属性
  16. *
  17. * @var array
  18. */
  19. protected $casts = [
  20. 'portrait_images' => 'array',
  21. ];
  22. /**
  23. * 应该被追加到模型数组的访问器
  24. *
  25. * @var array
  26. */
  27. protected $appends = ['state_text'];
  28. /**
  29. * 获取状态文本
  30. */
  31. public function getStateTextAttribute(): string
  32. {
  33. return TechnicianAuthStatus::fromValue($this->state)?->label() ?? '未知状态';
  34. }
  35. /**
  36. * @Author FelixYin
  37. *
  38. * @description 信息记录所属技师
  39. */
  40. public function coach()
  41. {
  42. return $this->belongsTo('App\Models\CoachUser', 'coach_id');
  43. }
  44. }