User.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * 会员管理模型
  4. */
  5. namespace app\model;
  6. use laytp\BaseModel;
  7. use think\model\concern\SoftDelete;
  8. class User extends BaseModel
  9. {
  10. use SoftDelete;
  11. //模型名
  12. protected $name = 'user';
  13. //附加属性
  14. protected $append = ['is_vip_time_validity','vip_time_str','login_time_int','create_time_int','update_time_int','delete_time_int','vip_time'];
  15. //时间戳字段转换
  16. // protected $type = [
  17. // 'vip_time' => 'timestamp:Y-m-d H:i:s',
  18. // ];
  19. //表名
  20. //关联模型
  21. public function avatarPicFile(){
  22. return $this->belongsTo('app\model\Files','avatar_pic','id');
  23. }
  24. public function question(){
  25. return $this->hasMany('app\model\Question','uid','id');
  26. }
  27. public function commission1(){
  28. return $this->hasMany('app\model\commission\Team','pid','id');
  29. }
  30. public function commission2(){
  31. return $this->hasMany('app\model\commission\Team','gid','id');
  32. }
  33. public function commission3(){
  34. return $this->hasMany('app\model\commission\Team','gfid','id');
  35. }
  36. //新增属性的方法
  37. public function getIsVipTimeValidityAttr($value, $data)
  38. {
  39. $return = 0;
  40. if(isset($data['vip_time'])){
  41. $return = $data['vip_time']<time() ? 0:1;
  42. }
  43. return $return;
  44. }
  45. public function getVipTimeStrAttr($value, $data)
  46. {
  47. return isset($data['vip_time']) ? date("Y-m-d H:i:s",$data['vip_time']) : 0;
  48. }
  49. public function getLoginTimeIntAttr($value, $data)
  50. {
  51. return isset($data['login_time']) ? strtotime($data['login_time']) : 0;
  52. }
  53. public function getCreateTimeIntAttr($value, $data)
  54. {
  55. return isset($data['create_time']) ? strtotime($data['create_time']) : 0;
  56. }
  57. public function getUpdateTimeIntAttr($value, $data)
  58. {
  59. return isset($data['update_time']) ? strtotime($data['update_time']) : 0;
  60. }
  61. public function getDeleteTimeIntAttr($value, $data)
  62. {
  63. return isset($data['delete_time']) ? strtotime($data['delete_time']) : 0;
  64. }
  65. }