Poster.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\model\sys;
  12. use app\dict\sys\PosterDict;
  13. use core\base\BaseModel;
  14. /**
  15. * 海报模型
  16. * Class Poster
  17. * @package app\model\sys
  18. */
  19. class Poster extends BaseModel
  20. {
  21. /**
  22. * 数据表主键
  23. * @var string
  24. */
  25. protected $pk = 'id';
  26. /**
  27. * 模型名称
  28. * @var string
  29. */
  30. protected $name = 'sys_poster';
  31. // 设置json类型字段
  32. protected $json = ['value'];
  33. //设置只读字段
  34. protected $readonly = ['type'];
  35. // 设置JSON数据返回数组
  36. protected $jsonAssoc = true;
  37. /**
  38. * 状态字段转化
  39. * @param $value
  40. * @param $data
  41. * @return mixed
  42. */
  43. public function getTypeNameAttr($value, $data)
  44. {
  45. if (!empty($data[ 'type' ])) {
  46. return PosterDict::getType($data[ 'type' ])[ 'name' ] ?? '';
  47. }
  48. return '';
  49. }
  50. /**
  51. * 搜索器:海报名称
  52. * @param $query
  53. * @param $value
  54. * @param $data
  55. */
  56. public function searchNameAttr($query, $value, $data)
  57. {
  58. if ($value != '') {
  59. $query->where("name", 'like', '%' . $this->handelSpecialCharacter($value) . '%');
  60. }
  61. }
  62. /**
  63. * 搜索器:海报类型
  64. * @param $query
  65. * @param $value
  66. * @param $data
  67. */
  68. public function searchTypeAttr($query, $value, $data)
  69. {
  70. if ($value) {
  71. $query->where("type", '=', $value);
  72. }
  73. }
  74. }