You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SystemConfig.php 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace app\model\system\config;
  3. use app\model\store\StoreConfig;
  4. use crmeb\basic\BaseModel;
  5. use crmeb\traits\ModelTrait;
  6. use think\Model;
  7. /**
  8. * 系统配置模型
  9. * Class SystemConfig
  10. * @package app\model\system\config
  11. */
  12. class SystemConfig extends BaseModel
  13. {
  14. use ModelTrait;
  15. /**
  16. * 数据表主键
  17. * @var string
  18. */
  19. protected $pk = 'id';
  20. /**
  21. * 模型名称
  22. * @var string
  23. */
  24. protected $name = 'system_config';
  25. /**
  26. * 一对一关联门店配置表
  27. * @return \think\model\relation\HasOne
  28. */
  29. public function storeConfig()
  30. {
  31. return $this->hasOne(StoreConfig::class, 'key_name', 'menu_name')->field(['key_name', 'store_id', 'value'])->bind([
  32. 'store_value' => 'value',
  33. ]);
  34. }
  35. /**
  36. * 菜单名搜索器
  37. * @param Model $query
  38. * @param $value
  39. */
  40. public function searchMenuNameAttr($query, $value)
  41. {
  42. if (is_array($value)) {
  43. $query->whereIn('menu_name', $value);
  44. } else {
  45. $query->where('menu_name', $value);
  46. }
  47. }
  48. /**
  49. * tab id 搜索
  50. * @param Model $query
  51. * @param $value
  52. */
  53. public function searchTabIdAttr($query, $value)
  54. {
  55. $query->where('config_tab_id', $value);
  56. }
  57. /**
  58. * 状态搜索器
  59. * @param Model $query
  60. * @param $value
  61. */
  62. public function searchStatusAttr($query, $value)
  63. {
  64. $query->where('status', $value ?: 1);
  65. }
  66. /**
  67. * value搜索器
  68. * @param Model $query
  69. * @param $value
  70. */
  71. public function searchValueAttr($query, $value)
  72. {
  73. $query->where('value', $value);
  74. }
  75. /**
  76. * is_store 搜索
  77. * @param $query
  78. * @param $value
  79. */
  80. public function searchIsStoreAttr($query, $value)
  81. {
  82. if ($value) {
  83. $query->where('is_store', $value);
  84. }
  85. }
  86. }