Common.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\admin\model\shopro;
  4. use think\Model;
  5. use addons\shopro\filter\BaseFilter;
  6. use think\db\Query;
  7. use app\admin\model\shopro\traits\ModelAttr;
  8. class Common extends Model
  9. {
  10. // 自动写入时间戳字段
  11. protected $autoWriteTimestamp = 'integer';
  12. protected $dateFormat = 'Y-m-d H:i:s';
  13. // 定义时间戳字段名
  14. protected $createTime = 'createtime';
  15. protected $updateTime = 'updatetime';
  16. protected $deleteTime = false;
  17. use ModelAttr;
  18. /**
  19. * 当前 model 对应的 filter 实例
  20. *
  21. * @return BaseFilter
  22. */
  23. public function filterInstance()
  24. {
  25. $filter_class = static::class;
  26. $class = str_replace('app\admin\model\shopro', 'addons\shopro\filter', $filter_class) . 'Filter';
  27. if (!class_exists($class)) {
  28. return new BaseFilter();
  29. }
  30. return new $class();
  31. }
  32. /**
  33. * 查询范围 filter 搜索入口
  34. *
  35. * @param Query $query
  36. * @return void
  37. */
  38. public function scopeSheepFilter($query, $sort = true, $filters = null)
  39. {
  40. $instance = $this->filterInstance();
  41. $query = $instance->apply($query, $filters);
  42. if ($sort) {
  43. $query = $instance->filterOrder($query);
  44. }
  45. return $query;
  46. }
  47. /**
  48. * 获取模型中文名
  49. *
  50. * @return string|null
  51. */
  52. // public function getModelName()
  53. // {
  54. // if (isset($this->modelName)) {
  55. // $model_name = $this->modelName;
  56. // } else {
  57. // $tableComment = $this->tableComment();
  58. // $table_name = $this->getQuery()->getTable();
  59. // $model_name = $tableComment[$table_name] ?? null;
  60. // }
  61. // return $model_name;
  62. // }
  63. }