ArticleCategory.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 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\article;
  12. use traits\ModelTrait;
  13. use app\admin\model\article\Article as ArticleModel;
  14. use basic\ModelBasic;
  15. use service\UtilService as Util;
  16. /**
  17. * 文章分类model
  18. * Class ArticleCategory
  19. * @package app\admin\model\article
  20. */
  21. class ArticleCategory extends ModelBasic
  22. {
  23. use ModelTrait;
  24. /**
  25. * 获取系统分页数据 分类
  26. * @param array $where
  27. * @return array
  28. */
  29. public static function systemPage($where = array())
  30. {
  31. $model = new self;
  32. if ($where['title'] !== '') $model = $model->where('title', 'LIKE', "%$where[title]%");
  33. if ($where['status'] !== '') $model = $model->where('status', $where['status']);
  34. $model = $model->where('is_del', 0);
  35. $model = $model->where('hidden', 0)->order('sort desc');
  36. return self::page($model);
  37. }
  38. /**
  39. * 删除分类
  40. * @param $id
  41. * @return bool
  42. */
  43. public static function delArticleCategory($id)
  44. {
  45. if (count(self::getArticle($id, '*')) > 0)
  46. return self::setErrorInfo('请先删除该分类下的文章!');
  47. return self::edit(['is_del' => 1], $id, 'id');
  48. }
  49. /**
  50. * 获取分类名称和id field
  51. * @param $field
  52. * @return array
  53. */
  54. public static function getField($field)
  55. {
  56. return self::where('is_del', 'eq', 0)->where('status', 'eq', 1)->where('hidden', 'eq', 0)->column($field);
  57. }
  58. /**
  59. * 分级排序列表
  60. * @param null $model
  61. * @return array
  62. */
  63. public static function getTierList($model = null)
  64. {
  65. if ($model === null) $model = new self();
  66. return Util::sortListTier($model->where('is_del', 0)->select()->toArray());
  67. }
  68. /**
  69. * 获取分类底下的文章
  70. * id 分类表中的分类id
  71. * return array
  72. * */
  73. public static function getArticle($id, $field)
  74. {
  75. $res = ArticleModel::where('hide', 0)->column($field, 'id');
  76. $new_res = array();
  77. foreach ($res as $k => $v) {
  78. $cid_arr = explode(',', $v['cid']);
  79. if (in_array($id, $cid_arr)) {
  80. $new_res[$k] = $res[$k];
  81. }
  82. }
  83. return $new_res;
  84. }
  85. }