Broker.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. use think\model\concern\SoftDelete;
  5. class Broker extends Model
  6. {
  7. use SoftDelete;
  8. protected $deleteTime = 'deletetime';
  9. protected $defaultSoftDelete = 0;
  10. // 设置字段信息
  11. protected $schema = [
  12. 'id' => 'int',
  13. 'userid' => 'int',
  14. 'workerid' => 'int',
  15. 'agentid' => 'int',
  16. 'title' => 'string',
  17. 'mobile' => 'string',
  18. 'weixin' => 'string',
  19. 'qq' => 'string',
  20. 'province' => 'string',
  21. 'city' => 'string',
  22. 'district' => 'string',
  23. 'town' => 'string',
  24. 'village' => 'string',
  25. 'details' => 'string',
  26. 'status' => 'tinyint',
  27. 'powerreport' => 'tinyint',
  28. 'createtime' => 'int',
  29. 'income' => 'decimal',
  30. 'income_total' => 'decimal',
  31. 'region' => 'string',
  32. 'latitude' => 'float',
  33. 'longitude' => 'float',
  34. 'type' => 'tinyint',
  35. 'is_partner' => 'tinyint',
  36. 'password' => 'string',
  37. 'pid' => 'int',
  38. ];
  39. // 设置字段自动转换类型
  40. protected $type = [
  41. 'createtime' => 'timestamp:Y-m-d H:i:s',
  42. ];
  43. public function getStatusTextAttr($value, $data)
  44. {
  45. $status = [1 => '正常', 2 => '禁用'];
  46. return $status[$data['status']];
  47. }
  48. public function getPowerreportTextAttr($value, $data)
  49. {
  50. $status = [1 => '是', 2 => '否'];
  51. return $status[$data['powerreport']];
  52. }
  53. public function getTypeTextAttr($value, $data)
  54. {
  55. $status = [1 => '经纪人', 2 => '红色合伙人', 3 => '省外经纪人'];
  56. return $status[$data['type']];
  57. }
  58. public function getIsPartnerTextAttr($value, $data)
  59. {
  60. $status = [1 => '是', 2 => '否'];
  61. return $status[$data['is_partner']];
  62. }
  63. // 关联User
  64. public function muser()
  65. {
  66. return $this->hasOne(User::class, "id", "userid");
  67. }
  68. // 关联Worker
  69. public function worker()
  70. {
  71. return $this->hasOne(Worker::class, "id", "workerid");
  72. }
  73. // 关联Agent
  74. public function agent()
  75. {
  76. return $this->hasOne(Agent::class, "id", "agentid");
  77. }
  78. // 关联User
  79. public function user()
  80. {
  81. return $this->hasMany(User::class, "brokerid", "id");
  82. }
  83. }