Engineer.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace addons\workorder\model;
  3. use think\Model;
  4. use traits\model\SoftDelete;
  5. /**
  6. * 工程师模型
  7. */
  8. class Engineer extends Model
  9. {
  10. use SoftDelete;
  11. // 表名
  12. protected $name = 'workorder_engineers';
  13. // 自动写入时间戳字段
  14. protected $autoWriteTimestamp = 'int';
  15. // 定义时间戳字段名
  16. protected $createTime = 'createtime';
  17. protected $updateTime = false;
  18. protected $deleteTime = 'deletetime';
  19. protected static $showEngineerInfoConfig = [];
  20. protected $append = [
  21. 'all_order_number'
  22. ];
  23. protected static function init()
  24. {
  25. $workorderConfig = get_addon_config('workorder');
  26. self::$showEngineerInfoConfig = explode(',', $workorderConfig['show_engineer_info']);
  27. }
  28. public function getAllOrderNumberAttr($value, $data)
  29. {
  30. if (!in_array('all_order_number', self::$showEngineerInfoConfig)) {
  31. return false;
  32. }
  33. return \addons\workorder\model\Orders::where(['engineer_id' => $data['id']])->count('id');
  34. }
  35. public static function getEngineerInfoConfig()
  36. {
  37. return self::$showEngineerInfoConfig;
  38. }
  39. public function user()
  40. {
  41. return $this->hasOne('app\admin\model\User', 'id', 'user_id', [], 'LEFT')->setEagerlyType(0);
  42. }
  43. }