CoachInfoRecord.php 1.0 KB

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. 'life_photos' => 'array'
  22. ];
  23. /**
  24. * 应该被追加到模型数组的访问器
  25. *
  26. * @var array
  27. */
  28. protected $appends = ['state_text'];
  29. /**
  30. * 获取状态文本
  31. */
  32. public function getStateTextAttribute(): string
  33. {
  34. return TechnicianAuthStatus::fromValue($this->state)?->label() ?? '未知状态';
  35. }
  36. /**
  37. * @Author FelixYin
  38. * @description 信息记录所属技师
  39. */
  40. public function coach()
  41. {
  42. return $this->belongsTo(CoachUser::class, 'coach_id', 'id');
  43. }
  44. }