WwhCultureBanner.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. class WwhCultureBanner extends Model
  5. {
  6. // 表名
  7. protected $name = 'wwh_culture_banner';
  8. // 自动写入时间戳字段
  9. protected $autoWriteTimestamp = 'int';
  10. // 定义时间戳字段名
  11. protected $createTime = 'createtime';
  12. protected $updateTime = 'updatetime';
  13. // 追加属性
  14. protected $append = [
  15. 'content_type_text',
  16. 'status_text',
  17. 'lang_text'
  18. ];
  19. protected static function init()
  20. {
  21. self::afterInsert(function ($row) {
  22. $pk = $row->getPk();
  23. $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
  24. });
  25. }
  26. public function getContentTypeList()
  27. {
  28. return [
  29. 'text' => __('纯文本'),
  30. 'grid_single' => __('单列网格'),
  31. 'grid_double' => __('双列网格')
  32. ];
  33. }
  34. public function getStatusList()
  35. {
  36. return ['0' => __('禁用'), '1' => __('启用')];
  37. }
  38. public function getLangList()
  39. {
  40. return ['1' => __('简体中文'), '2' => __('English')];
  41. }
  42. public function getContentTypeTextAttr($value, $data)
  43. {
  44. $value = $value ? $value : (isset($data['content_type']) ? $data['content_type'] : '');
  45. $list = $this->getContentTypeList();
  46. return isset($list[$value]) ? $list[$value] : '';
  47. }
  48. public function getStatusTextAttr($value, $data)
  49. {
  50. $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
  51. $list = $this->getStatusList();
  52. return isset($list[$value]) ? $list[$value] : '';
  53. }
  54. public function getLangTextAttr($value, $data)
  55. {
  56. $value = $value ? $value : (isset($data['lang']) ? $data['lang'] : '');
  57. $list = $this->getLangList();
  58. return isset($list[$value]) ? $list[$value] : '';
  59. }
  60. protected function setContentDataAttr($value)
  61. {
  62. return is_array($value) ? json_encode($value, JSON_UNESCAPED_UNICODE) : $value;
  63. }
  64. protected function getContentDataAttr($value)
  65. {
  66. return $value ? json_decode($value, true) : [];
  67. }
  68. }