You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CoachModel.php 1.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace app\model\store\yoga;
  3. use app\common\model\CommonModel;
  4. use app\model\store\yoga\CoachProjectModel;
  5. class CoachModel extends CommonModel{
  6. protected $name = 'yoga_store_coach';
  7. protected $pk = 'coach_id';
  8. protected $type=[
  9. 'tags'=>'array'
  10. ];
  11. public function projects()
  12. {
  13. return $this->hasMany(CoachProjectModel::class,'coach_id','coach_id');
  14. }
  15. public function apply(){
  16. return $this->hasMany(CoachProjectModel::class,'coach_id','coach_id');
  17. }
  18. public function getTagsStringAttr($value,$data)
  19. {
  20. $tags=json_decode($data['tags'],true);
  21. if(empty($tags)) return '';
  22. return implode(',',$tags) ?? '';
  23. }
  24. public function getStatusMeansAttr($value,$data)
  25. {
  26. $status_means=[
  27. 1=>'在职',
  28. -1=>'离职',
  29. ];
  30. return $status_means[$data['status']] ?? '';
  31. }
  32. public function schedulings()
  33. {
  34. return $this->hasMany(CoachSchedulingModel::class,'coach_id','coach_id');
  35. }
  36. }