Express.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace app\admin\model\shopro\dispatch;
  3. use think\Model;
  4. use traits\model\SoftDelete;
  5. class Express extends Model
  6. {
  7. use SoftDelete;
  8. // 表名
  9. protected $name = 'shopro_dispatch_express';
  10. // 自动写入时间戳字段
  11. protected $autoWriteTimestamp = 'int';
  12. // 定义时间戳字段名
  13. protected $createTime = 'createtime';
  14. protected $updateTime = 'updatetime';
  15. protected $deleteTime = 'deletetime';
  16. // 追加属性
  17. protected $append = [
  18. 'type_text',
  19. 'area_text'
  20. ];
  21. public function getTypeList()
  22. {
  23. return ['number' => __('Type number'), 'weight' => __('Type weight')];
  24. }
  25. public function getTypeTextAttr($value, $data)
  26. {
  27. $value = $value ? $value : (isset($data['type']) ? $data['type'] : '');
  28. $list = $this->getTypeList();
  29. return isset($list[$value]) ? $list[$value] : '';
  30. }
  31. public function getAreaTextAttr($value, $data)
  32. {
  33. $province_ids = explode(',', $data['province_ids']);
  34. $city_ids = explode(',', $data['city_ids']);
  35. $area_ids = explode(',', $data['area_ids']);
  36. $ids = array_merge($province_ids, $city_ids, $area_ids);
  37. $provinceText = \app\admin\model\shopro\Area::where('id', 'in', $ids)->field('name')->select();
  38. $provinceText = array_column($provinceText, 'name');
  39. return implode(',', $provinceText);
  40. }
  41. }