ItemCateModel.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 LARAVEL研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: laravel开发员 <laravel.qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Models;
  12. /**
  13. * 栏目模型
  14. * @author laravel开发员
  15. * @since 2020/11/11
  16. * Class ItemCateModel
  17. * @package App\Models
  18. */
  19. class ItemCateModel extends BaseModel
  20. {
  21. // 设置数据表
  22. protected $table = 'item_cate';
  23. /**
  24. * 获取记录信息
  25. * @param int $id
  26. * @return array|string
  27. * @author laravel开发员
  28. * @since 2020/11/11
  29. */
  30. public function getInfo($id)
  31. {
  32. $info = parent::getInfo($id); // TODO: Change the autogenerated stub
  33. if ($info) {
  34. // 封面
  35. if ($info['cover']) {
  36. $info['cover'] = get_image_url($info['cover']);
  37. }
  38. }
  39. return $info;
  40. }
  41. /**
  42. * 获取栏目名称
  43. * @param $cateId 栏目ID
  44. * @param string $delimiter 分隔符
  45. * @return string|null
  46. * @since 2020/11/11
  47. * @author laravel开发员
  48. */
  49. public function getCateName($cateId, $delimiter = "")
  50. {
  51. do {
  52. $info = $this->getInfo($cateId);
  53. $names[] = $info['name'];
  54. $cateId = $info['pid'];
  55. } while ($cateId > 0);
  56. if (!empty($names)) {
  57. $names = array_reverse($names);
  58. if (count($names) >= 2) {
  59. if (strpos($names[1], $names[0]) === 0) {
  60. unset($names[0]);
  61. }
  62. }
  63. return implode($delimiter, $names);
  64. }
  65. return null;
  66. }
  67. }