Grade.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\admin\model\special;
  12. use traits\ModelTrait;
  13. use basic\ModelBasic;
  14. /**
  15. * Class Grade 一级分类
  16. * @package app\admin\model\special
  17. */
  18. class Grade extends ModelBasic
  19. {
  20. use ModelTrait;
  21. public static function getAll()
  22. {
  23. return self::where(['is_del' => 0,'is_show'=>1])->order('sort desc,add_time desc')->field(['name', 'id'])->select();
  24. }
  25. public static function getAllList($where)
  26. {
  27. $model= self::with(['SpecialSubject'=>function($query){
  28. $query->where(['is_show'=>1,'is_del'=>0]);
  29. }])->page((int)$where['page'], (int)$where['limit'])->order('sort desc,add_time desc')->where('is_del', 0);
  30. if ($where['cate_name'] != '') $model = $model->where('name', 'like', "%$where[cate_name]%");
  31. $data =$model->select();
  32. $count = self::setWhere($where)->count();
  33. return compact('data', 'count');
  34. }
  35. public static function setWhere($where)
  36. {
  37. $model = self::order('sort desc,add_time desc')->where('is_del', 0);
  38. if ($where['cate_name'] != '') $model = $model->where('name', 'like', "%$where[cate_name]%");
  39. return $model;
  40. }
  41. public function SpecialSubject()
  42. {
  43. return $this->hasMany('SpecialSubject','grade_id');
  44. }
  45. /**
  46. * 分类修改 v1.4.3升级到v1.4.4时使用
  47. */
  48. public static function updateClassification(){
  49. $grade=self::where(['is_del'=>0,'is_show'=>1])->select();
  50. $grade=count($grade)>0 ? $grade->toArray() :[];
  51. if(count($grade)){
  52. foreach ($grade as $key=>$value){
  53. $data=[
  54. 'name'=>$value['name'],
  55. 'sort'=>$value['sort'],
  56. 'is_show'=>$value['is_show'],
  57. 'pic'=>null,
  58. 'add_time'=>time(),
  59. ];
  60. $id=SpecialSubject::insertGetId($data);
  61. SpecialSubject::where(['is_del'=>0,'grade_id'=>$value['id']])->update(['grade_id'=>$id]);
  62. self::where(['id'=>$value['id']])->update(['is_del'=>1]);
  63. }
  64. }else{
  65. return true;
  66. }
  67. }
  68. }