ManageCover.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. class ManageCover extends Model
  5. {
  6. // 表名
  7. protected $table = 'manage_cover';
  8. // 自动写入时间戳字段
  9. protected $autoWriteTimestamp = 'int';
  10. // 定义时间戳字段名
  11. protected $createTime = 'createtime';
  12. protected $updateTime = 'updatetime';
  13. // 追加属性
  14. protected $append = [
  15. 'status_text',
  16. 'sex_text',
  17. 'type_text'
  18. ];
  19. public function getStatusList()
  20. {
  21. return ['normal' =>'显示','hidden' => '隐藏'];
  22. }
  23. public function getSexList()
  24. {
  25. return ['1' => '男频', '2' => '女频', '3'=> '活动'];
  26. }
  27. /**
  28. * 图片类型列表
  29. *
  30. * @author liues@dianzhong.com
  31. * @date 2018-08-30 10:59:12
  32. * @return array
  33. */
  34. public function getTypeList()
  35. {
  36. return ['1' => '大图', '2' => '小图'];
  37. }
  38. public function getStatusTextAttr($value, $data)
  39. {
  40. $value = $value ? $value : $data['status'];
  41. $list = $this->getStatusList();
  42. return isset($list[$value]) ? $list[$value] : '';
  43. }
  44. public function getSexTextAttr($value, $data)
  45. {
  46. $value = $value ? $value : $data['sex'];
  47. $list = $this->getSexList();
  48. return isset($list[$value]) ? $list[$value] : '';
  49. }
  50. /**
  51. * 获取图片类型字符串
  52. *
  53. * @author liues@dianzhong.com
  54. * @date 2018-08-30 11:00:09
  55. * @param $value
  56. * @param $data
  57. * @return mixed|string
  58. */
  59. public function getTypeTextAttr($value, $data)
  60. {
  61. $value = $value ? $value : $data['type'];
  62. $list = $this->getTypeList();
  63. return isset($list[$value]) ? $list[$value] : '';
  64. }
  65. /**
  66. * 随机获取一个图片
  67. *
  68. * @author liues@dianzhong.com
  69. * @date 2018-08-24 10:35:25
  70. * @param array $sex
  71. * @return mixed
  72. */
  73. public function getRandImage(array $sex = ['1','2','3']){
  74. $where = ['status' => 'normal', 'sex' => ['in', $sex]];
  75. if($ids = $this->where($where)->column('id')){
  76. $id = $ids ? array_rand($ids) : 0;
  77. $image = $this->where(['id' => $ids[$id]])->value('image');
  78. return $image;
  79. }
  80. return null;
  81. }
  82. }